LinqToXML XElement 转换为 XmlNode

13

你好,

在C#中将XElement转换为XmlNode有没有“正确”的方法 - LinqToXML使得以编程方式构建所需的XML变得容易,但是SharePoint Web服务需要一个XmlNode,那么最好的方法是什么,可以将两者混合使用?

1个回答

19
使用CreateReader()和XmlDocument来实现:
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接