[英]Parse XML to retrieve multiple values of same tag
我是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等
任何帮助将不胜感激
如果像示例中那样直接构建节点,则很容易实现您要执行的操作。
你必须
//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问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.