2008-11-12 15 views
13

HALLO xmlnode,LinqToXML XElement

Gibt es einen ‚richtigen‘ Weg, um eine XElement zu einem XmlNode in C# zu konvertieren - LinqToXML macht es schön, die erforderlichen XML programmatisch zu bauen, aber Web-Service Sharepoint erfordert eine XmlNode, so was sind die beste Art zu mischen und zu kombinieren?

Antwort

20

Verwenden Create() und ein XmlDocument wie

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

XmlDocument leitet sich von XmlNode.

+3

Falls dies anderen hilft: Die Eigenschaft 'Attribute' eines XmlNode ist immer null, es sei denn, der Knoten ist vom Typ XmlNodeType.Element. Wenn Sie also versuchen, ein XElement mit Attributen in einen XmlNode zu konvertieren, hat Ihr XmlDocument (myXmlNode) von oben die Eigenschaft 'Attributes' mit null. Sie können die Attribute jedoch erhalten, wenn Sie stattdessen myXmlNode.DocumentElement.Attributes verwenden. – Scott