XDocument中innerXml和outerXml的对应部分是什么?

时间:2014-04-15 11:28:31

标签: c#

我试图将一些使用XmlDocument类的代码重构为Linq To Xml。但是,我不确定XDocument中innerXml和outerXml的对应部分是什么?

1 个答案:

答案 0 :(得分:0)

根据MSDN,InnerXml返回当前节点的子节点的标记,OuterXml返回当前节点的标记和其所有子节点。

因此,要获得类似于OuterXml的字符串结果,您可以尝试使用简单的ToString()方法。但是没有内置方法返回类似于InnerXml的结果。模拟InnerXml功能的可能方法是,通过为当前节点的每个子节点调用ToString(),然后将这些字符串连接成单个字符串结果:

XDocument xdoc;
........
var currentNode = xdoc.Root;
var innerXml = string.Join("", currentNode.Elements().Select(o => o.ToString()));

您可以选择使上面的代码成为XElement的扩展方法,以使其更易于使用。