2008-11-12 6 views
13

HI,LinqToXML XElement к XMLnode

Есть ли «правильный» способ преобразования XElement к XmlNode в C# - LinqToXML делает его приятно строить нужный XML программно, но веб-службы SharePoint требует XmlNode, так, Что лучший способ смешать и совместить?

ответ

20

Использование CreateReader() и XmlDocument как

XmlDocument myXmlNode = new XmlDocument(); 
using (XmlReader reader = myXElement.CreateReader()) 
{ 
    myXmlNode.Load(reader); 
} 

XmlDocument происходит от XmlNode.

+3

В случае, если это помогает кому-либо еще: свойство «Атрибуты» XmlNode всегда равно null, если только узел имеет тип XmlNodeType.Element. Поэтому, если вы пытаетесь преобразовать XElement с атрибутами в XmlNode, ваш XmlDocument (myXmlNode) сверху будет обладать нулевым свойством «Атрибуты». Вы можете получить атрибуты, однако, если вместо этого вы используете myXmlNode.DocumentElement.Attributes. – Scott 2011-10-17 15:05:20

Смежные вопросы