Сериализация XML (через IXmlSerializable) в XmlDocument - PullRequest
1 голос
/ 26 июля 2010

Я пытаюсь написать XmlDocument из экземпляра класса для передачи в BizTalk (2006 R2, если это имеет значение). Я реализую IXmlSerializable, потому что считаю, что это даст мне наибольшую гибкость (этот объект не обязательно всегда будет записываться в XmlDocument и передаваться в BizTalk).

Итак, я реализовал IXmlSerializable, и теперь я хотел бы использовать метод Write () для создания фактического экземпляра XmlDocument для передачи в BizTalk. Что-то вроде:

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

Очевидно, что вышеприведенное не работает: я уверен, что оно даже не компилируется ... но это именно та функция, которую я ищу.

У кого-нибудь есть готовое решение для этого или место, куда я могу пойти, чтобы найти примеры или учебник?

1 Ответ

3 голосов
/ 26 июля 2010

IXmlSerializable реализуется, когда вы хотите добавить собственную логику сериализации, это означает, что вам нужно использовать XmlSerializer, чтобы она вызывала вашу реализованную логику.

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

поток может быть XmlWriter, TextWriter, Stream, который вы можете затем загрузить в XmlDocument, если хотите.

Вот еще немного информации

IXmlSerializable Interface

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...