将 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?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows Phone 中检查 XMLNode 是不是存在