如何查找子元素不包含特定字符的元素

时间:2015-07-24 14:40:43

标签: xpath

我有15个<record>,其中包含各种各样的孩子,当我使用时,

//record[*/contains(text(), '{')]

我找到包含char“{”

的5

但是,如果我试图找到不使用的10;

//record[*/not(contains(text(), '{'))]

它返回所有15个元素,因为我猜一旦其中一个子元素不包含它,它就会作为匹配返回。

如何在任何一个孩子中找到不包含此字符的10条记录?

1 个答案:

答案 0 :(得分:0)

您的XPath正在搜索包含文本节点的元素的record个元素,这些元素包含或不包含{个字符。这不是你想要的。

相反,直接测试每个record字符串值

//record[contains(., '{')]

//record[not(contains(., '{'))]

通过这种方式,您将得到您期望的5(包含)+ 10(不包含)= 15(总)匹配。

相关问题