【发布时间】:2012-03-01 06:47:08
【问题描述】:
<?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 文件?
【问题讨论】:
-
DOM 对于这么大的文件不是一个好的选择。如果 SAX 也失败了唯一的选项,我认为会增加内存。
-
是的,这就是我问朋友的原因。对于这个来说,更好的方法是什么。
-
尝试解析时遇到什么错误?
-
我没有收到任何错误。但会跳过文件解析。
-
“文件解析被跳过”表示解析器不是问题,代码中的其他问题是。如果确实是文件太大的问题,您会收到 OutOfMemoryError。要获得更好的答案,请发布您的代码。
标签: java mysql xml parsing dom