Java 如何使用jaxb循环处理多个xml文件

Java 如何使用jaxb循环处理多个xml文件,java,xml,xml-parsing,jaxb,Java,Xml,Xml Parsing,Jaxb,我有一个应用程序,它创建了一些临时XML,我必须解析这些XML并捕获其中的一些信息。 其中一个XML包含多个行,每个行都有指向每个相关XML的路径。 有点像: <z:row TimeStamp="2012-09-25T09:58:49" FileName="\\test\app\myfile_AB.xml"/> <z:row TimeStamp="2012-09-25T09:58:49" FileName="\\test\app\myfile_CD.xml"/> ...

我有一个应用程序,它创建了一些临时XML,我必须解析这些XML并捕获其中的一些信息。 其中一个XML包含多个行,每个行都有指向每个相关XML的路径。 有点像:

<z:row TimeStamp="2012-09-25T09:58:49" FileName="\\test\app\myfile_AB.xml"/>
<z:row TimeStamp="2012-09-25T09:58:49" FileName="\\test\app\myfile_CD.xml"/>
...
我想知道是否有可能使用JAXB解析这个主XML,获取所有路径,然后执行一个循环,并在一个操作中处理每个相关的XML

所有XML都具有大致相同的结构


提前感谢您提供的任何可能的帮助。您必须首先定义两个单独的XSD。一个是主文件的主XSD,然后是其他所有文件的第二个XSD。下面是主XML的一个建议XML结构

  <files>
      <z:row>
      <z:row>
      <z:row>
      .
      .
  <files>

为两个XSD自动生成java pojo类。然后,每当您收到主XML时,首先使用主XSD的自动生成类对其进行解组。在这里,您将获得与根元素对应的对象,例如Files.java对象。现在在这个文件中,对象在行对象上迭代&获取文件名。现在,对于每个文件名,再次创建单独的解组器&用自动生成的类解组该文件。

这是可能的。您必须首先定义两个单独的XSD。一个是主文件的主XSD,然后是其他所有文件的第二个XSD。下面是主XML的一个建议XML结构

  <files>
      <z:row>
      <z:row>
      <z:row>
      .
      .
  <files>

为两个XSD自动生成java pojo类。然后,每当您收到主XML时,首先使用主XSD的自动生成类对其进行解组。在这里,您将获得与根元素对应的对象,例如Files.java对象。现在在这个文件中,对象在行对象上迭代&获取文件名。现在,对于每个文件名,再次创建单独的解组器&用自动生成的类解组该文件。

我建议使用XMLStreamReader解析外部文档。当您前进到每个行元素时,我将让实现解组内容。这样就不需要将整个外部文档保存在内存中

演示该概念的示例


我建议使用XMLStreamReader解析外部文档。当您前进到每个行元素时,我将让实现解组内容。这样就不需要将整个外部文档保存在内存中

演示该概念的示例