我的问题与 xpath 语法无关,它与围绕 xpath 的 java API 有关。考虑以下 xml:
<wrapper>
<metadata>
<somefield>somevalue</somefield>
<anotherfield>othervalue</anotherfield>
</metadata>
<data>
<some>
<unique>
<xml>
<structure>stuff</structure>
</xml>
</unique>
</some>
</data>
</wrapper>
通过使用以下代码,我可以使用 xpath 轻松获取元数据字段:
XPath xp = XPathFactory.newInstance().newXPath();
Node node = (Node) xp.evaluate("/wrapper/metadata/somefield", xmlDoc, XPathConstants.NODE);
String somefield = node.getFirstChild().getNodeValue();
我正在努力解决如何获取以标签开头的表示 xml子树的字符串。<some>
换句话说,我写什么代码来得到一个字符串,当打印出来时,会打印出以下内容?xpath 查询将是“/wrapper/data/some”,但我不知道如何适当地利用 xpath api。
<some>
<unique>
<xml>
<structure>stuff</structure>
</xml>
</unique>
</some>