C# 中的反序列化 XML
本文关键字:XML 反序列化 | 更新日期: 2023-09-27 18:28:20
有人可以帮助解决这个问题吗?我已经为来自 XML 的反序列化数据创建了类。但是当我编程编译VS时,向我显示此异常无效操作异常:XML文档(2,2(中存在错误,因此我想我在类存储中定义了属性Month。我试图输入 int,但没有成功,请帮助我...这是问题的代码:
<?xml version="1.0" encoding="utf-8" ?>
<Store>
<StoreS Month="2">
<Amount>159</Amount>
<Mod_date> 20.3.2014 18:19:18</Mod_date>
</StoreS>
<StoreS Month="2">
<Amount>270</Amount>
<Mod_date> 20.3.2014 18:19:40</Mod_date>
</StoreS>
</Store>
我要反序列化数据的类是这样编写的:
[XmlRoot("Store"),XmlType("Store")]
public class Store
{
[XmlElement("StoreS")]
public List<RecordStore> StoreS = new List<RecordStore>();
[XmlAttribute("Month")]
public string Month { get; set; }
}
public class RecordStore
{
[XmlElement("Amount")]
public int amount{get;set;}
[XmlElement("Mod_date")]
public DateTime mod_date { get; set; }
}
非常感谢您的帮助。
您的xml
的日期时间格式不正确,例如,它应该像2014-03-21T00:00:00
当你序列化时,
你可以反序列化对象
public void Serialize<T>(T details)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (TextWriter writer = new StreamWriter("Xml.xml"))
{
serializer.Serialize(writer, details);
}
}
public void Deserialize<T>(out T obj)
{
XmlSerializer serializer = new XmlSerializer(typeof (T));
using (TextReader reader = new StreamReader("Xml.xml"))
{
obj = (T)serializer.Deserialize(reader);
}
}