我一直在尝试使用XmlReader / XmlWriter找到一种简单的XML编写方法。我真的不喜欢使用“IXmlSerializable”接口,但我没有选择我的某些数据类。
无论如何,我想要做的很简单:
private MyClass myObject;
public void WriteXml(XmlWriter writer)
{
writer.WriteObject(myObject); // <-- this method doesn't exists
}
所以,我找到了2个解决方法:
我还没有测试过第二个,但我认为它可能会起作用(因为ReadValue结果而不确定)。
然后我的问题是:我错过了重要的事情还是唯一的方法?或者有更好的方法来解决这个问题吗?
感谢。
答案 0 :(得分:3)
在玩完之后,我发现了一些非常简单的东西。这是我正在玩的代码,对于那些想知道我是如何修复我的问题(类似于阅读和元素):
public static void WriteElement(XmlWriter writer, string name, object value)
{
var serializer = new XmlSerializer(value.GetType(), new XmlRootAttribute(name));
serializer.Serialize(writer, value);
}
我不知道为什么我让这个问题复杂化,但它不能比这简单得多。
答案 1 :(得分:0)
尝试使用XmlDocument类。它使用XmlNode作为轻松写出xml的基础。您还可以序列化一个类,或使用DataSet类写出xml,或将其读回数据集或XmlDocument类型结构。