【发布时间】:2016-07-26 13:13:09
【问题描述】:
我有一个XmlNodeList,想在其中找到一个特殊节点。
我使用了以下代码,但它没有找到所需的节点,尽管它在 XmlNodeList 中。
string ID = "9";
public void XMlNodeFind(XmlNodeList steps, string ID)
{
var resultNodes = new List<XmlNode>();
foreach (XmlNode node in steps)
{
if (node.Attributes["name"].Value.Equals(ID))
{
resultNodes.Add(node);
}
}
}
这里是 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
<files>
<file name="1">
<file name="3">
<file name="9">
</file>
</file>
</file>
<file name="2">
<text here are some text/>
</file>
</files>
【问题讨论】:
-
您最初是如何填充
XmlNodeList的? -
XmlNodeList steps = root1.SelectNodes("//files/file"); -
还有,
resultNodes不是XMlNodeFind()返回的,那你是怎么查看结果的呢? -
我知道它没有回报。但是
resultNodes是null直到foreach结束。 -
顺便说一句,您是否可以使用 LINQ to XML 而不是 XmlDocument 等?它通常使这样的事情变得微不足道。
标签: c# .net xml winforms xmlnode