我有以下XML结构
<CodeSnippet>
<Code id="code1">
<Tags>button java</Tags>
<Snippet>sample code</Snippet>
</Code>
<Code id="code2">
<Tags>eclipse jbutton java</Tags>
<Snippet>sample code</Snippet>
</Code>
<.....>
</CodeSnippet>
现在,当我使用Tags搜索时,我想从上面的xml中检索所有Snippet。例如,如果搜索&#34; java&#34;然后所有包含标签的节点为&#34; java&#34;必须返回代码段。
我的搜索查询是:
//Code/Tags[contains(concat(' ',/text(),' '), ' "+ searchTags[0] +" ')]";
这里,searchTags [0]包含&#34; java&#34;。
我的结果集应该包含所选节点的片段,即xml结构上面的code1和code2。
答案 0 :(得分:1)
试试这个表达式:
//Code/Tags[contains(., 'Java')]/../Snippet
答案 1 :(得分:0)
为了检索包含“java”的所有“Tags”,我使用了下面的xpath表达式
// Code / Tags / text()[contains(。,'java')]
为了检索与标签“java”相关的所有“Snippet”,我使用了以下表达式
//代码/标签[包含(./ text(),'java')] / parent :: Code / Snippet / text()
感谢@dfsq帮助我解决他的表情。非常感谢。
答案 2 :(得分:0)
你可以写:
//Tags//Snippet
如果你使用XPath