在Java中提取XML的子元素

时间:2014-07-29 20:04:47

标签: java xml extraction

我有一个要求,我必须提取部分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:这些提取的元素也应包含其子元素。

2 个答案:

答案 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