日期:2014-05-17  浏览次数:20531 次

XML串行化问题
最近在编写XML串行化的代码,遇到这样一个XML文档格式。

<?xml version="1.0" encoding="utf-8" ?> 
- <Job Version="3.000" >

- <Dependencies>
 - <Parent GroupId="4699">
    <Child GroupId="4700" /> 
    </Parent>
 - <Parent GroupId="4700">
    <Child GroupId="4701" /> 
    </Parent>
  </Dependencies>

- <Tasks>
  <Task Version="3.000" Id="2192768" /> 
  </Tasks>
</Job>

现在准备编写要串行化的类Job,可是这个XML文档结构很复杂,该如何定义呢?
------解决方案--------------------
引用:
Quote: 引用:

XML 何须串行化,本身就是一个字符串,已经是串行的了。


我原来生成XML文档的时候用
XmlSerializer serialzer = new XmlSerializer(typeof(Job));
然后再用
XmlWriter tw = XmlWriter.Create(Dir, setting);
输出。
XmlSerializer这个类的字面意思应该就是XML串行化,所以就这么叫了。。。
现在需要一个Job类,按照上面的XML格式定义,直接将它实例化就可以输出文件了。

晕啊,这两句代码毫关联呀。看这个吧
XmlSerializer serialzer = new XmlSerializer(typeof(Job));
serialzer.Deserialize(...) // 反序列化
serialzer.Serialize(...)   // 序列化
------解决方案--------------------
不自己摸索,下次碰到仍然不会
------解决方案--------------------
我不用微软内部序列化类 性能低 我用newtonsoft.json 序列化时可以选择xml序列化与json序列化