我正在处理文档中的节点列表,一次一个节点。如何在主文档中找到一个属性值等于当前所选节点属性值的节点
在该处理过程中,我需要使用正在处理的节点的本地属性的值从更宽的文档中选择节点。
我希望在单个XPath中表达这一点。
如果我第一次得到本地属性值,我可以将它插入到xpath中,但我不希望这样做,因为我希望Xpath是自包含的。
以下文档是一种结构类型的示例,但仅供说明。
<root>
<pageGenre>
<page ref="attvalue1"/>
<genre>horror</genre>
</pageGenre>
<pageGenre>
<page ref="attvalue1"/>
<genre>thriller</genre>
</pageGenre>
<pageGenre>
<page ref="attvalue2"/>
<genre>cooking</genre>
</pageGenre>
<book att="attvalue1">
<author>Lovecraft</author>
</book>
<book att="attvalue2">
<author>E.E. Smith</author>
</book>
</root>
我第一次从文档中找到我的节点列表有:
.//book
然后对每本书节点,我使用节点然后得到的att
./@att
它每次都有效。
我想要做的就是通过单个Xpath获取本书的所有页面风格。
我曾尝试:
// pageGenre /页[@ref = ./@att]/../genre
这是不行的,来了空白。
如果我使用
[@ref = // @ ATT]
我刚刚得到的所有类型的所有书att
S上的文件内。
如果我首先解决./@att
值然后编写我的Xpath,它工作正常,但我不想“知道”这需要完成,因为我希望XPath的列表在没有任何特殊的情况下运行使用通用调度程序的案例。
我也尝试过self::/@att
,但这和./@att
一样,正如人们所期望的那样。
任何想法非常感谢。
,所以你要选择的''''具有ref属性值等于..?请继续判刑。我不能清楚地了解你正在尝试从XML –
har07
得到我想要有等于当前book节点的ATT ref属性值来选择的。 –
因为书节点在不同的树,我不能让你通过*当前图书节点*的意思是什么(很显然,如果''节点在同一棵树作为'')。通过修复xml结构顺利移动。 –
har07