вторник, 11 мая 2010 г.

XDocument в XMLDocument и наоборот

У меня в примерах
XmlDocument xmlDoc;
XDocument xDoc;

XMLDocument To XMLDocument

Самый простой, но и пожалуй самый медленный способ:
XDocument.Parse(xmlDoc.OuterXml);

Второй вариант:
using (var nodeReader = new XmlNodeReader(xmlDoc)) {
nodeReader.MoveToContent();
xDoc = XDocument.Load(nodeReader);
}

XMLDocument To XMLDocument

Очень простой способ:
xmlDoc.Load(xDoc.CreateReader());

И чего это я раньше следующим монстром пользовался?
using (MemoryStream memStr = new MemoryStream()) {
using (XmlWriter writer = XmlWriter.Create(memStr)) {
xDoc.Save(writer);
}
memStr.Position = 0;
using (XmlReader reader = XmlReader.Create(memStr)) {
xmlDoc.Load(reader);
}
}

Комментариев нет: