在.NET 2中搜索具有特定属性值的节点的XML文件

Mr.*_*Boy 16 c# xpath visual-studio-2005 .net-2.0

我找到了使用LINQ搜索XML节点的答案,但我仅限于使用.NET 2的C#.

我想打开一个XML文件(~50Kb,所有简单文本)并搜索具有特定值<Tool>属性的所有节点name.

似乎XmlDocument.SelectNodes()可能是我正在寻找的,但我不知道XPath.这是正确的方法,如果是这样,代码会是什么样的?

Meh*_*taş 35

您可以在XmlDocument.SelectNodes中使用XPath,例如: SelectNodes("//ElementName[@AttributeName='AttributeValue']")

Xml示例:

<root>
    <element name="value1" />
    <element name="value2" />
    <element name="value1" />
</root>
Run Code Online (Sandbox Code Playgroud)

C#示例:

XmlDocument xDoc = new XmlDocument();
// Load Xml

XmlNodeList nodes = xDoc.SelectNodes("//element[@name='value1']");
// nodes.Count == 2
Run Code Online (Sandbox Code Playgroud)

在这里您可以找到一些额外的XPath示例