我在XOM中查询文档,获取一个Node,然后在这个Node中查询另一个Node。但是,查询node的行为就像查询整个文档一样,而不仅仅是这个节点。
XML是这样的:
<root>
<someotherstuff>
<DifferentNode>
<Value1>different-value1</Value1>
</DifferentNode>
<Node>
<Node>
<Value1>value1</Value1>
<Value2>value2</Value2>
</Node>
<Node>
<Value1>value3</Value1>
<Value2>value4</Value2>
</Node>
<!-- more Node's -->
</Node>
</someotherstuff>
</root>我要做的是:
Nodes nodes = document.query("//Node/Node", X_PATH_CONTEXT);
Node node = nodes.get(0);
Nodes innerNodes = node.query("/Value1");innerNodes包含0个子对象。当我将"/Value1"更改为"//Value1" (加上斜杠)时,我得到的是different-value1,所以它看起来像是查询整个文档,而不是我选择的节点。
如何查询XOM中的具体节点?
发布于 2012-01-04 20:33:25
当您的查询以一个斜杠开始时,这将查找具有给定名称的文档根节点。相反,两个斜杠表示查找给定名称的所有祖先。如果您简单地省略了前导斜杠,那么您的查询应该可以工作:
Nodes innerNodes = node.query("Value1");https://stackoverflow.com/questions/8726804
复制相似问题