如何解析大型复杂的xml

Web*_*ber 5 java spring jaxb spring-batch xml-parsing

我需要解析一个大型复杂的xml并写入一个Flat文件,你能给出一些建议吗?

文件大小:500MB记录数:100K XML结构:

<Msg>

    <MsgHeader>
        <!--Some of the fields in the MsgHeader need to be map to a java object-->
    </MsgHeader>

    <GroupA> 
        <GroupAHeader/>
        <!--Some of the fields in the GroupAHeader need to be map to a java object--> 
        <GroupAMsg/>
        <!--50K records--> 
        <GroupAMsg/> 
        <GroupAMsg/> 
        <GroupAMsg/> 
    </GroupA>

    <GroupB> 
        <GroupBHeader/> 
        <GroupBMsg/>
        <!--50K records--> 
        <GroupBMsg/> 
        <GroupBMsg/> 
        <GroupBMsg/> 
    </GroupB>

</Msg>
Run Code Online (Sandbox Code Playgroud)

Wal*_*nat 0

我还没有处理过这么大的文件大小,但考虑到你的问题,因为你想解析并写入平面文件,我猜测将XML Pull 解析和智能代码组合起来写入平面文件(这可能会有所帮助),因为我们不想耗尽 Java 堆。您可以通过 Google 快速搜索有关使用 XML Pull 解析的教程和示例代码。