2010-07-26 6 views
1

Je suis en train d'écrire un XmlDocument d'une instance d'une classe pour passer à BizTalk (2006 R2, si elle importe). J'implémente IXmlSerializable parce que je crois que cela me donnera le plus de flexibilité (cet objet ne sera pas forcément toujours écrit dans un XmlDocument et transmis à BizTalk). Donc, j'ai implémenté IXmlSerializable, et maintenant je voudrais utiliser la méthode Write() pour créer l'instance XmlDocument réelle à passer à BizTalk. Quelque chose comme:XML sérialisation (via IXmlSerializable) à XmlDocument

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

Il est évident que ce qui précède ne fonctionne pas: Je suis sûr qu'il ne compile même pas ... mais c'est la fonctionnalité que je suis à la recherche.

Quelqu'un at-il une solution en conserve pour cela, ou un endroit où je peux aller chercher des exemples ou un tutoriel?

Répondre

3

IXmlSerializable est implémenté lorsque vous souhaitez ajouter une logique de sérialisation personnalisée, cela signifie que vous devez utiliser le XmlSerializer pour qu'il appelle votre logique implémentée.

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

pourrait être XmlWriter, TextWriter, Stream que vous pouvez ensuite charger dans XmlDocument si vous le souhaitez.

Voici quelques informations supplémentaires

IXmlSerializable Interface

+0

Ah! Cela a beaucoup plus de sens. Je ne sais pas pourquoi j'ai complètement oublié XmlSerializer ... – AllenG

Questions connexes