跨两个关联元素匹配的XPath表达式
我得到了以下关联元素的XML:跨两个关联元素匹配的XPath表达式,xpath,Xpath,我得到了以下关联元素的XML: <doc> <!-- A block of style elements. --> <styles> <style id='style-1' class='bar'>…</style> <style id='style-2' class='baz'>…</style> … </styles> <!-- Document co
<doc>
<!-- A block of style elements. -->
<styles>
<style id='style-1' class='bar'>…</style>
<style id='style-2' class='baz'>…</style>
…
</styles>
<!-- Document content. -->
<p style='style-1'>…</p>
<p style='style-2'>…</p>
…
</doc>
…
…
…
…
对于一个模板,我正在寻找一个XPath表达式匹配“一个元素
p
,其样式为类bar
”?纯XPath 1.0表达式,该表达式将返回所有元素p,其样式为类bar:
基本上,XPath查找
元素,其中style
属性等于纯XPath 1.0表达式的id
,该表达式将返回样式为类bar的所有元素p:
基本上,XPath查找
元素,其中style
属性等于
的id
,假设这是文档结构的准确表示,我建议使用它,不要使用双斜杠(/
),因为双斜杠可能非常低效:
/doc/p[@style = /doc/styles/style[@class = 'bar']/@id]
假设这是文档结构的准确表示,我建议您使用它,不要使用双斜杠(/
),因为双斜杠可能非常低效:
/doc/p[@style = /doc/styles/style[@class = 'bar']/@id]
请同时考虑这两个解决方案之间的性能考虑。请同时考虑这两个解决方案之间的性能考虑。谢谢@ JLRishe,我以前遇到了这些性能差异,并且已经相应地调整了上面的表达式。但很好,你为其他访客指出了这一点!感谢@JLRishe,我之前遇到了这些性能差异,并且已经相应地调整了上述表达式。但很好,你为其他访客指出了这一点!