2008-11-12 55 views
13

HI,LinqToXML的XElement到的XMLNode

有沒有「正確」的方式到的XElement轉換爲C#一個XmlNode - LinqToXML使得它很好的以編程方式生成所需的XML,但的SharePoint Web服務,需要一個XmlNode,有啥混合搭配的最佳方式是什麼?

回答

20

使用CreateReader()和像

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

XmlDocument的一個如下從XmlNode的派生。

+3

如果這有助於其他人:XmlNode的'Attributes'屬性始終爲空,除非該節點的類型爲XmlNodeType.Element。因此,如果您試圖將XElement的屬性轉換爲XmlNode,則上面的XmlDocument(myXmlNode)將具有一個空的'Attributes'屬性。但是,如果使用myXmlNode.DocumentElement.Attributes,則可以獲取這些屬性。 – Scott 2011-10-17 15:05:20