2010-07-26 74 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