有可能吗?
XML:
<node name="unknown">
<leaf ref="sometext/WHATIWANT/sometext"/>
</node>
<node name="unknown">
<leaf ref="sometext/sometext/sometext"/>
</node>
<node name="unknown">
<leaf ref="sometext/sometext/sometext"/>
</node>
WHATIWANT
是我知道并希望在搜索中匹配的内容。我应该创建一个类似于
<xsl:variable name="whatiwant" select="contains(node(), '/WHATIWANT/')"/> <!-- unique -->
的变量来在进一步的表达式中使用它。显然没用。
我建议
select="contains(node(), '/WHATIWANT/')
不检查xml叶中的表达式。如何使用已知关键字检查XML表达式?
还是选择不同的方式?
最佳答案
字面上leaf
元素
这个XPath,
//leaf[contains(@ref, '/WHATIWANT/')]
将选择其属性值包含子字符串
leaf
的所有@ref
元素。仅叶元素
这个XPath,
//*[contains(@ref, '/WHATIWANT/') and not(*)]
将选择其
/WHATIWANT/
属性值包含子字符串@ref
的所有叶元素。所有元素
这个XPath,
//*[contains(@ref, '/WHATIWANT/')]
将选择所有元素,无论名称和层次位置如何,其
/WHATIWANT/
属性值包含子字符串@ref
。