我编写了一个Xpath查询来查找一个包含字符串的nodeValue的元素。
/campaigns/campaign[contains("7218322441485795", creative_id)]
但是,我查询的XML有多个<creative_id>
元素;
<campaigns>
<campaign>
<creative_id>41485795</creative_id>
<creative_id>41485759</creative_id>
<creative_id>41485694</creative_id>
<resources>
....
问题是查询只评估第一个creative_id
元素而不是第二个&{第三
如何将XPath查询编写为不限于第一个creative_id
元素?
答案 0 :(得分:3)
当在第一个参数中找到第二个参数的字符串值时,XPath contains
函数返回true
。你的订购似乎很可疑。您当前正在查找给定字符串中的creative_id
字符串值,而不是creative_id
中该字符串的值。
假设参数排序正确,如果任何campaign
个子元素与提供的字符串的一部分匹配,则以下表达式返回creative_id
元素:
/campaigns/campaign[creative_id[contains("7218322441485795", .)]]