xpath表达式来选择其整个文本内容包含特定字符串的项
是否可以使用xpath表达式来选择其整个文本内容(包括其子体)包含特定字符串的项 我的xml如下所示:xpath表达式来选择其整个文本内容包含特定字符串的项,xpath,concat,Xpath,Concat,是否可以使用xpath表达式来选择其整个文本内容(包括其子体)包含特定字符串的项 我的xml如下所示: <item> <sentence>Good morning. Today is fine.</sentence> <entry> <keywords> <keyword>fooA</keyword> <keyword>f
<item>
<sentence>Good morning. Today is fine.</sentence>
<entry>
<keywords>
<keyword>fooA</keyword>
<keyword>fooB</keyword>
</keywords>
</entry>
<entry>
<keywords>
<keyword>fooC</keyword>
<keyword>fooD</keyword>
</keywords>
</entry>
</item>
<item>
<sentence>It's raining, we'd better get a raincoat.</sentence>
<entry>
<keywords>
<keyword>barA</keyword>
<keyword>barB</keyword>
</keywords>
</entry>
<entry>
<keywords>
<keyword>barC</keyword>
<keyword>barD</keyword>
</keywords>
</entry>
</item>
像“早上好”、“fooC”或“fine fooB”,我会得到第一项。
如果我在中查找任何一个或多个单词:
"Good morning. Today is fine. fooA fooB fooC fooD"
"It's raining, we'd better get a raincoat.. barA barB barC barD"
像“下雨”、“更好”、“更好的吟游诗人”、“倒钩吧”,我得到了第二项
我试图使用contain()和concat(),但似乎无法在xpath表达式中连接不同级别的所有子体
contains(concat(sentence/text(),entry/keywords/keyword/text()),"barC")
不工作。concat()仅将第一个文本节点转换为字符串
提前谢谢 这似乎很管用
//item[contains(string(), 'barC')]
这里演示-
如果只想使用特定的子节点,请尝试以下操作
//item[(sentence|entry)[contains(string(), 'barC')]]
演示-Hi@Phil!谢谢这管用!我可以问一下,如果有其他孩子喜欢,但我不希望这些被搜索,但只有在和,你能给一个这样的方式吗?谢谢天哪!!它很有魅力!我为此工作了几个星期,最后只找到了一个复杂的解决办法。非常感谢!!!