2008-11-12 14 views
13

Cześć,LinqToXML Xelement do XmlNode

Czy istnieje jakiś „poprawny” sposób przekonwertować Xelement do XmlNode w C# - LinqToXML sprawia, że ​​miło zbudować wymagane XML programowo, ale SharePoint usług internetowych wymaga XmlNode, więc co jest najlepszy sposób na połączenie i dopasowanie?

Odpowiedz

20

Zastosowanie CreateReader() i XmlDocument jak

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

XmlDocument wywodzi XmlNode.

+3

Jeśli to pomoże komukolwiek innemu: właściwość "Atrybuty" XmlNode jest zawsze pusta, chyba że węzeł jest typu XmlNodeType.Element. Więc jeśli próbujesz przekonwertować XElement z atrybutami do XmlNode, twój XmlDocument (myXmlNode) z powyższego będzie miał pustą właściwość 'Attributes'. Możesz jednak uzyskać atrybuty, jeśli zamiast tego użyjesz myXmlNode.DocumentElement.Attributes. – Scott