我正在尝试根据当前节点的值获取根节点上的属性值。
示例:
<root src="Bob" att="Mark">
<div>
<p>My name is <ref bar="src"/>.</p>
<p>My name is <ref bar="att"/>.</p>
</div>
</root>
我叫鲍勃。
我的名字是马克。
到目前为止我有这个XPAth。它一直有效,直到我尝试根据@bar中提供的本地属性值测试名称。 @bar在root中我需要提取值的属性名称。
这有效......
/*/@*[name()='src']
这不是。
/*/@*[name()=@bar]
我希望获得的值是p标签中@src,“foo”的值。
我必须使用XPath 1.0。
编辑: 我正试图找到应该是当前节点的ref标签的路径。
/*/@*[name()=//ref[count(preceding::ref)]/@bar]
非常感谢任何帮助!
答案 0 :(得分:0)
You need to have a path to the bar
attribute in your predicate.
/*/@*[name()=../div/p/ref/@bar]