Java-按内部文本选择节点

时间:2011-11-16 11:14:25

标签: java xml xpath

我正在将代码从c#转换为java。

我有以下xml结构:

<Foo>

<Son>

<Id>xxx</Id>

</Son>

... more sons

</Foo>

我需要根据Id值选择节点(可以多于一个。

我在c#中有这一行:

XmlNodeList res=xmlDoc.SelectNodes("descendant::Son[Id='xxx']");

我尝试将其转换为以下内容:

NodeList res=(NodeList)xPath.evaluate("xpath expr",inputSource,XPathConstants.NODESET);

但是,我没有设法编写正确的XPath表达式。

任何帮助?

谢谢, 萨拉

1 个答案:

答案 0 :(得分:-1)

我不是在我的开发机器上,但过去曾使用过XPath,这一点在脑海中浮现:

xPath.evaluate("/Foo/Son[Id='xxx']",...)

此外,在您的问题中提及您尝试过的内容以及结果与目标输出的不同之处也很有帮助。