在Java中提取XML的子元素

在Java中提取XML的子元素,java,xml,extraction,Java,Xml,Extraction,我需要提取部分XML子节点并使用它生成报告 以下是示例XML代码的示例: <A> <B> <C> <D> </D> <D> </D> </C> </B> <B> <C> <D> </D> </C> </B> <B> <C> &

我需要提取部分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:这些提取的元素也应该包含它们的子元素

您可以使用Jsoup来实现这一点,它是一个非常简单易用的api,并且有库文档

唐纳德:


文档:

下面是一个使用遍历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");
    // ...
}

您可以使用任何JavaXMLAPI来实现这一点。联机查看。@Mahesh签出您正在查找的类SaxParser的答案