XPath - 如何 select 具有多个属性值的节点?
XPath - how to select node with multiple attribute values?
假设:
<foo bar="one two three">
如何将所有具有属性 bar
的 foo
标签与值 one
匹配(我不关心可能存在哪些其他属性值)。这似乎不起作用:
//foo[@bar="one"]
XPath 1.0 或 2.0
标准的成语是:
//foo[contains(concat(' ', normalize-space(@bar), ' '), ' one ')]
XPath 2.0
//foo[tokenize(@bar,'\s+')='one']
执行此操作的标准方法是
//foo[contains(concat(" ", normalize-space(@bar), " "), " one ")]
假设:
<foo bar="one two three">
如何将所有具有属性 bar
的 foo
标签与值 one
匹配(我不关心可能存在哪些其他属性值)。这似乎不起作用:
//foo[@bar="one"]
XPath 1.0 或 2.0
标准的成语是:
//foo[contains(concat(' ', normalize-space(@bar), ' '), ' one ')]
XPath 2.0
//foo[tokenize(@bar,'\s+')='one']
执行此操作的标准方法是
//foo[contains(concat(" ", normalize-space(@bar), " "), " one ")]