我有一个要求,我必须提取部分XML子节点并使用它来生成报告。
以下是示例XML代码的示例:
<A>
<B>
<C>
<D>
</D>
<D>
</D>
</C>
</B>
<B>
<C>
<D>
</D>
</C>
</B>
<B>
<C>
</C>
</B>
</A>
我想用B作为XML标记名称提取所有元素,并使用它来创建报告。有人可以解释我们如何提取所有元素。
PS:这些提取的元素也应包含其子元素。
答案 0 :(得分:2)
这是一个使用Document Object Model遍历XML文件的简单示例:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(new File("input.xml"));
NodeList bNodes = document.getElementsByTagName("B");
for(int i = 0; i < bNodes.getLength(); i++) {
Element bElement = (Element) bNodes.item(i);
NodeList cNodes = bElement.getElementsByTagName("C");
// ...
}
答案 1 :(得分:0)
您可以使用Jsoup执行此操作,使用api非常简单并且有库文档
Downlaod:http://jsoup.org/download
文档:http://jsoup.org/cookbook/introduction/parsing-a-document