[英]How to read/write complex object with XmlWriter/XmlReader
我一直在嘗試找到一種使用XmlReader / XmlWriter編寫XML的簡單方法。 我真的不喜歡使用“ IXmlSerializable”接口,但是我的某些數據類別無選擇。
無論如何,我想做的很簡單:
private MyClass myObject;
public void WriteXml(XmlWriter writer)
{
writer.WriteObject(myObject); // <-- this method doesn't exists
}
因此,我發現有兩種解決方法:
我還沒有測試第二個,但是我認為它可能會工作(由於ReadValue結果,所以不確定)。
然后我的問題是:我錯過了重要的東西還是唯一的方法? 還是有更好的方法來解決這個問題?
謝謝。
玩了之后,我發現一些簡單的事情。 這是我正在為那些想知道如何解決問題的人使用的代碼(類似於閱讀和元素):
public static void WriteElement(XmlWriter writer, string name, object value)
{
var serializer = new XmlSerializer(value.GetType(), new XmlRootAttribute(name));
serializer.Serialize(writer, value);
}
我不知道為什么使問題復雜化,但是沒有比這更簡單的了。
嘗試使用XmlDocument類。 它使用XmlNode作為輕松寫出xml的基礎。 您還可以序列化一個類,或使用DataSet類寫出xml,或將其讀回到數據集或XmlDocument類型結構中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.