2008-11-12 32 views
13

HI,LinqToXML XElement để XmlNode

Có cách nào chính xác 'để chuyển đổi một XElement để một XmlNode trong C# - LinqToXML làm cho nó tốt đẹp để xây dựng XML yêu cầu theo chương trình nhưng các dịch vụ web SharePoint đòi hỏi một XmlNode, để whats cách tốt nhất để trộn và kết hợp là gì?

Trả lời

20

Sử dụng CreateReader() và một XmlDocument như

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

XmlDocument bắt nguồn từ XmlNode.

+3

Trong trường hợp điều này sẽ giúp bất kỳ ai khác: Thuộc tính 'Thuộc tính' của XmlNode luôn luôn là rỗng trừ khi nút thuộc loại XmlNodeType.Element. Vì vậy, nếu bạn đang cố gắng chuyển đổi một XElement với các thuộc tính thành XmlNode, XmlDocument (myXmlNode) của bạn từ trên sẽ có thuộc tính null 'Attributes'. Bạn có thể có được các thuộc tính, tuy nhiên, nếu bạn sử dụng myXmlNode.DocumentElement.Attributes thay thế. – Scott