我可以搜索一个包含在 特定 属性,如果我使用以下XPath/xs:schema/node()/descendant::node()[starts-with(@my-specific-attribute-name-here, 'my-search-string')]
然而,我想搜索任何包含*字符串的属性。
XML示例。
<root>
<element1 a="hello" b="world"/>
<element2 c="world" d="hello"/>
<element3 e="world" f="world"/>
</root>
假设,我们需要选择任何包含以下属性的元素。h
. 在这个样本中: element1
, element2
. 我们可以使用这个XPath。
//*[@*[starts-with(., 'h')]]
在你的例子中,你要找的一般模式是:
/xs:schema/node()/descendant::node()
[@*[starts-with(@my-specific-attribute-name-here, 'my-search-string')]]
你要找的一般模式是:
@*[contains(., 'string')]
它将匹配上下文元素上的任何包含 string
. 因此,如果你只是想搜索整个文档中含有 string
,你会用。
//@*[contains(., 'string')]
这是你要找的东西
//*[@*="your_value"]