我创建了 xmlnodelist,我想处理没有子元素的元素的值。 在下面的代码中,我正在检查子节点,并且我从所有元素中得到 true,甚至 那些没有 child 的人。 我如何选择树中的最后一个元素并处理该值?
XmlDocument XDoc = new XmlDocument();
XDoc.Load("d://avi.xml");
XmlNodeList XList = XDoc.SelectNodes("//*");
foreach (XmlElement XNode in XList)
{
if (XNode.HasChildNodes == true)
{
Console.WriteLine("this node has childs");
continue;
}
else Console.WriteLine("this node dont have childs");
}
<level1>
<level2>
<level3>header3</level3>
<level4>another</level4>
<level31>header31</level31>
</level2>
<level2>
<level3>111</level3>
<level31>nn</level31>
</level2>
</level1>
最佳答案
使用 Linq to Xml 来实现此目的怎么样?
var xElem = XElement.Parse(xml);
var leafElements = xElem.Descendants()
.Where(e => !e.HasElements)
.ToList();
关于c# - 如何在 C# 中检查 xmlnode 的内部文本或值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867107/