我有一个看起来与此类似的XML文件:
<data label="product data">
<price min="10" max="60">35</price>
</data>
我正在.Net Core中使用System.Xml.Serialization
。我正在尝试反序列化XML。对于这样的常规XML:
<data>
<price>35</price>
</data>
以下方法:
public T DeserializeXml<T>(string input)
{
var xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
using var stringReader = new StringReader(input);
var xmlReader = new XmlTextReader(stringReader);
return (T) xmlSerializer.Deserialize(xmlReader);
}
工作正常,并将其解析为特定的类对象。但是,当XML包含属性时,它不能正常工作,并且在尝试将其反序列化为对象时会崩溃。
这是我的课程:
[XmlType("data")]
public class ProductInfo
{
[XmlElement(ElementName = "price")]
public string Price{ get; set; }
}
因此,如何检索带有属性的有效XML,以及如何存储其属性值?不确定如何使用System.Xml.Serialization
库执行此操作。
通过查看XML,模型应该看起来像