2010-07-26 45 views
1

我想從類的實例寫入一個XmlDocument傳遞給BizTalk(2006 R2,如果它很重要)。我正在實現IXmlSerializable,因爲我相信它會給我最大的靈活性(此對象不一定總是寫入XmlDocument並傳遞給BizTalk)。序列化XML(通過IXmlSerializable)到XmlDocument

所以,我已經實現了IXmlSerializable,現在我想使用Write()方法創建實際的XmlDocument實例以傳遞給BizTalk。喜歡的東西:

XmlDocument xDoc = new XmlDocument(); 
xDoc.LoadXml(XmlWriter.Create(this.Write()); 

顯然上述不起作用:我敢肯定它甚至不編譯...但是這就是我正在尋找的功能。

有沒有人有這個罐頭的解決方案,或我可以去尋找例子或教程的地方?

回答

3

IXmlSerializable是在您想添加自定義序列化邏輯時實現的,這意味着您需要使用XmlSerializer來讓它調用您實現的邏輯。

XmlSerializer ser = new XmlSerializer(this.GetType()); 
ser.Serialize(stream, this); 

流可能是XmlWriterTextWriterStream它,如果你願意,你可以再加載到XmlDocument

下面是更多的一些信息

IXmlSerializable Interface

+0

啊!這更有意義。我不知道爲什麼我完全忘了XmlSerializer ... – AllenG 2010-07-26 19:45:26