我是XPath和XML的新手。我试图从标记中检索特定标记的值。以下树结构中的特定标记
<article>
<front>
<article-meta>
<supplementary-material id="SM2379">
<caption><title>arg_3.docx</title></caption>
</supplementary-material>
<supplementary-material id="SM2375">
<caption><title>arg_2.docx</title></caption>
</supplementary-material>
<supplementary-material id="SM2373">
<caption><title>Sulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.docSulental_material.doc</title></caption>
</supplementary-material>
</article-meta>
</front>
</article>我想检索这个示例文件中的所有'title‘标记以及父标记的'id’。由于我需要向现有功能添加一些限制,比如使用jdom、可以使用xpath等。
任何帮助都将是非常感谢的
发布于 2016-12-27 10:23:55
如果节点像在您的示例中一样直接地建立起来,那么很容易实现您想要做的事情。
你得
//title就可以了)ID这些任务应该足够容易处理!
除评论外:
你提供的守则:
XPath xpath = XPathFactory.newInstance().newXPath();
NodeList n1 = (NodeList) xpath.evaluate("article/front/article-meta/supplementary-material/caption/title", document, XPathConstants.NODESET);
for (int k = 0; k < n1.getLength();k++)
{
System.out.println(n1.item(k).getNodeName()+" : "+n1.item(k).getTextContent());
}效果很好。但是您提供的代码在我的IDE中有一些UTF-8问题。
https://stackoverflow.com/questions/41342995
复制相似问题