2010-04-22 74 views
4

我需要在此处,节点名称中包含 “MyString的”如何选择其中节点名称中包含 “MyString的”

XML获得的XmlNodeList节点

<?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查询中实现这一点。

回答

11

您需要使用name()函数。仅仅name就会尝试匹配名为“name”的元素。

你想这样的:

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

@Welbog:谢谢 – afin 2010-04-22 14:19:35

相关问题