将 XmlNode 转换为 XNode?

Posted

技术标签:

【中文标题】将 XmlNode 转换为 XNode?【英文标题】:convert XmlNode to XNode? 【发布时间】:2010-09-18 21:09:15 【问题描述】:

任何人都知道如何将 System.Xml.XmlNode 转换为 System.Xml.Linq.XNode?​​p>

【问题讨论】:

【参考方案1】:

我不认为有,但你为什么需要呢?每个都是 XML 结构的最低“叶子”,用于不同的文档读取方式。

如果您使用 Linq to Xml 和 XDocument,您将拥有所有 linq 样式的语法和新功能,但实际上所有这些都是关于选择节点的。

一旦有了要处理的元素,为什么需要切换?

【讨论】:

刚刚有一些旧代码返回一个 XmlNode 但我想查询这个节点,它似乎实际上是一个文档。【参考方案2】:

我从未尝试过,但我的第一个想法是:

XmlNode myNode;
XNode translatedNode = XDocument.Parse(myNode.OuterXml);

【讨论】:

【参考方案3】:

Eric White's blog 是进行酷 XML/XLINQ 转换等的地方。我知道这个问题早于发布,但我在查看其他 Q 时发现了它,所以也许人们仍然会遇到这个问题。他的博客有很多优化的 LINQ,就像我怀疑对原始响应的 .Parse() 调用不是最佳的,事实上我知道它不是。

Parse 将要求一次性加载 XML,Eric 使用扩展方法来处理 XmlReader/Writer 的 XML 转换。这些方法能够对输入进行流式传输,因此如果您的 XML 具有任何实质性大小,则必须使用它们。

【讨论】:

以上是关于将 XmlNode 转换为 XNode?的主要内容,如果未能解决你的问题,请参考以下文章

将字符串转换为 xmlnode

如何在 Windows Phone 中检查 XMLNode 是不是存在

c# .net 怎么将一个xml字符串 转换成一个xmlnode ,(不是xmldocument)

XML中的元素和节点有啥区别?

数据绑定使用XML数据作为Binding的Source

将 XmlNode 添加到 XmlElement