如何选择节点名称包含“mystring”的节点

时间:2010-04-22 13:58:41

标签: c# xpath c#-2.0 xmldocument

我需要获取XmlNodeList,其中节点名称包含“mystring”

XML

    <?xml version="1.0" encoding="utf-8"?>
<root>
  <node1>
    node1 value
  </node1>
  <node2_mystring>
    node2 value
  </node2_mystring>
  <node3>
    node3 value
  </node3>
  <node4_mystring>
    node 4 value
  </node4_mystring>
</root>

所需的输出

<?xml version="1.0" encoding="utf-8"?>
<root>
  <node2_mystring>
    node2 value
  </node2_mystring>
  <node4_mystring>
    node 4 value
  </node4_mystring>
</root>

我试过像XmlNodeList mystringElements = xmlDocument.SelectNodes(@"//*[contains(name,'mystring')]");

这样的东西

但它返回零节点。我应该在XPath查询中添加什么来实现这一目标。

1 个答案:

答案 0 :(得分:12)

您需要使用name()功能。仅name只会尝试匹配名为“name”的元素。

你想要这个:

//*[contains(name(),'mystring')]