鉴于此XML:
<DocText>
<WithQuads>
<Page pageNumber="3">
<Word>
July
<Quad>
<P1 X="84" Y="711.25" />
<P2 X="102.062" Y="711.25" />
<P3 X="102.062" Y="723.658" />
<P4 X="84.0" Y="723.658" />
</Quad>
</Word>
<Word>
</Word>
<Word>
30,
<Quad>
<P1 X="104.812" Y="711.25" />
<P2 X="118.562" Y="711.25" />
<P3 X="118.562" Y="723.658" />
<P4 X="104.812" Y="723.658" />
</Quad>
</Word>
</Page>
</WithQuads>
我想查找文本为'July'且Quad / P1 / X属性大于90的节点。因此,在这种情况下,它不应返回任何匹配项。但是,如果我使用GT(>)或LT(<),则会在第一个Word元素上得到一个匹配项。如果使用eq(=),则不会匹配。
所以:
//Word[text()='July' and //P1[@X < 90]]
将返回true,
//Word[text()='July' and //P1[@X > 90]]
如何在P1 @ X属性上适当地限制它?
另外,假设我有多个Page元素,用于不同的页码。我将如何另外约束上述搜索以找到带有text()='July', P1@X < 90
和Page的节点@pageNumber=3
?