用于验证NodeList的XPath表达式

时间:2011-09-13 07:53:12

标签: java xml xpath nodelist

我在Java中有一个NodeList和这个XML文件(只是其中的一部分)

如果我有

<Book title="aaa" author="bbb" price="12" year="2011" />

我可以使用XPath表达式来查看是否验证了某些条件,例如:

local-name(.) = 'Book' and @title local-name(.) = 'Book' and @title

如果XPath表达式执行的结果为true ...执行某些操作,否则执行其他操作。 在这种情况下,我直接在Node上构建了一个表达式,没关系。

在NodeList的情况下,我该如何做同样的任务? 我想看看NodeList(Java中的org.w3c.NodeList)是否有一些节点,例如,但是使用XPath表达式。

由于 卢卡

2 个答案:

答案 0 :(得分:1)

您可以遍历NodeList中的节点并将xpath应用于每个节点。

答案 1 :(得分:0)

如果节点集在变量$v中,则表示以下XPath表达式:

$v[self::Book and @title]

$v中选择Book个元素并且还具有名为title的属性的所有节点。

如果可以作为评估特定XPath表达式的结果获得节点集,那么您可以用此表达式替换$v

yourExpression[self::Book and @title]

例如,如果有问题的节点集由/*/*返回的所有节点组成,则从该节点集中选择所需节点的一个表达式为:

/*/*[self::Book and @title]