Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xpath表达式来选择其整个文本内容包含特定字符串的项_Xpath_Concat - Fatal编程技术网

xpath表达式来选择其整个文本内容包含特定字符串的项

xpath表达式来选择其整个文本内容包含特定字符串的项,xpath,concat,Xpath,Concat,是否可以使用xpath表达式来选择其整个文本内容(包括其子体)包含特定字符串的项 我的xml如下所示: <item> <sentence>Good morning. Today is fine.</sentence> <entry> <keywords> <keyword>fooA</keyword> <keyword>f

是否可以使用xpath表达式来选择其整个文本内容(包括其子体)包含特定字符串的项

我的xml如下所示:

<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!谢谢这管用!我可以问一下,如果有其他孩子喜欢,但我不希望这些被搜索,但只有在和,你能给一个这样的方式吗?谢谢天哪!!它很有魅力!我为此工作了几个星期,最后只找到了一个复杂的解决办法。非常感谢!!!