2008-11-12 8 views
13

HI,LinqToXML XElement à XMLnode

Y at-il 'correct' façon de convertir un XElement à un XmlNode en C# - LinqToXML rend agréable pour construire le XML par programme, mais les services Web SharePoint requis nécessite un XmlNode, donc ce qui est la meilleure façon de mélanger et assortir?

Répondre

20

utilisation CreateReader() et un XmlDocument comme

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

XmlDocument dérive de XmlNode.

+3

Dans le cas où cela aide quelqu'un d'autre: La propriété 'Attributes' d'un XmlNode est toujours nulle sauf si le noeud est de type XmlNodeType.Element. Donc, si vous essayez de convertir un XElement avec des attributs en un XmlNode, votre XmlDocument (myXmlNode) ci-dessus aura une propriété null 'Attributes'. Vous pouvez cependant obtenir les attributs si vous utilisez myXmlNode.DocumentElement.Attributes à la place. – Scott

Questions connexes