【发布时间】:2011-05-23 19:32:49
【问题描述】:
我一直在尝试寻找一种使用 XmlReader/XmlWriter 编写 XML 的简单方法。我不太喜欢使用“IXmlSerializable”接口,但我对某些数据类别无选择。
反正我想做的很简单:
private MyClass myObject;
public void WriteXml(XmlWriter writer)
{
writer.WriteObject(myObject); // <-- this method doesn't exists
}
所以,我找到了 2 个解决方法:
- 编写我自己的例程来手动编写我的对象。非常可笑,因为 .Net 已经做到了。
- 使用 StringWriter 创建一个新的序列化程序并使用 WriteValue(string) 方法。
我还没有测试过第二个,但我认为它可能会起作用(不确定,因为 ReadValue 结果)。
那么我的问题是:我错过了什么重要的东西还是唯一的方法?还是有更好的方法来处理?
谢谢。
【问题讨论】:
-
您看过 LINQ to XML 吗?这有点工作,但很管用。
-
是的,我知道这个想法,但从未使用过。但是这里我的问题是我的复杂对象有很多子对象,每个子对象都定义了 XmlAttributes。所以我需要阅读这些属性。我只是不想盲目地写元素。
标签: c# serialization xmlreader xmlwriter