【发布时间】:2016-10-16 13:01:57
【问题描述】:
我正在尝试在 C# 控制台应用程序中获取 XElement 的 End 节点。
比如说我的 XML 内容是:
<Object>
<Item>Word</Item>
<Value>10</Value>
</Object>
如何获取</Object> 作为节点?
在遍历element.DescendantNodesAndSelf() 时,我仍然看不到孤立的</Object> 节点。
static void Main(string[] args)
{
const string xmlString = "<Object><Item>Word</Item><Value>10</Value></Object>";
var element = XElement.Parse(xmlString);
foreach (var node in element.DescendantNodesAndSelf())
{
Console.WriteLine($"{node}");
}
Console.ReadLine();
}
【问题讨论】:
-
我可能弄错了,但是,AFAIK,元素标记的结尾不被视为 XML 中的节点,因此在 LINQ to XML 对象模型中没有表示它。但是,你为什么需要这个?你想达到什么目标?
-
@PetSerAl 有“XmlNodeType.EndElement”我想知道这是否是我正在寻找的 NodeType。我需要获取该节点以对 XML 内容执行自定义缩进。
-
正如我所见,
XmlNodeType.EndElement用于XmlReader表示 XML 流中的结束标记,但 XML DOM 和 LINQ to XML 都没有在其内存对象模型中使用它。