将XmlNode转换为XNode?

时间:2008-10-23 20:18:58

标签: .net-3.5 c#-3.0 linq-to-xml

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

3 个答案:

答案 0 :(得分:12)

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

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

答案 1 :(得分:11)

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

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

答案 2 :(得分:0)

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

如果你使用Linq到Xml和XDocument,你将拥有所有linq风格的语法和新功能,但实际上就是选择一个节点。

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