我在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表达式。
由于 卢卡
答案 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]