xml解析器不读取如此大的文件内容

时间:2012-02-08 19:24:30

标签: java mysql xml parsing dom

<?xml version="1.0"?>

<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database name="test">
    <table_data name="test">
    <row>
        <field name="field1">406</field>
        <field name="field2">a2</field>
        <field name="field3">16</field>
        <field name="field4"></field>
        <field name="field5" xsi:type="xs:hexBinary">
[get the content from http://122.183.130.242/file/hex.txt path because i cannot give such a large content to stackoverflow]

        </field>
        <field name="field6">16</field>
    </row>
    </table_data>
</database>
</mysqldump>

我正在尝试解析并阅读上述xml文件中的内容。

我正在使用DOM解析器,我也尝试使用StAX解析器来解析XML,但我无法解析这么大的文件。

如何解析大型XML文件?

1 个答案:

答案 0 :(得分:0)

使用SAX Parser方法.parse(InputStream stream, HandlerBase handler)

对于处理程序,您使用DefaultHandler

对于'stream'参数,请执行以下操作:

BufferedReader stream=new BufferedReader( new FileReader(String filename));

...其中“filename”是你猜对了的文件名。 现在我希望您知道如何使用DefaultHandler。基本上你会覆盖你感兴趣的方法。 尝试调整BufferedReader的缓冲区大小,我想你会对结果感到满意。