SAX解析大数据量的xml文件获取字符内容的问题
时间:2011-08-06
来源:互联网
我需要解析一个xml文件,xml文件的结构如下所示:
XML code
其中<Object>中的内容是每一个人所具有的属性,<Records>里面的内容是每个人对应属性的数值。
然后再对其进行修改操作,我原来使用的是dom4j,但对于大数据量的xml文件操作时就会出现内存溢出错误。因此我现在换用了SAX来解析,因为SAX是事件触发的,遇到换行或者空白时也会触发void characters(char ch[], int start, int length),解析出好多无关的比如"\n"的字符,怎样只获取到数值内容忽略掉无关内容,比如对于后一条记录获取到如下内容:
GMS
1111111111111111111
ID
0015224632e9476aaa8f419dcfc222b9
XM
柳眉
XB
女
我获取到字符内容后还要进行判断修改操作,如何判断获取到的某一项内容,比如GMS对应的数值内容为空呢。我原来是将characters()方法 中获取到的字符内容放在List中,但我发现里面的无关内容太多,并且当某一项为空时List里面并没有存放相应的null或者" "。处理30M以上的xml如果不用sax,还有没有其他的方法。这个问题已经困扰我四五天了,一直没解决掉,还请大家多帮忙、多指教啊。
XML code
<Response> <Object> <Element>ID</Element> <Element>XM</Element> <Element>GMS</Element> <Element>XB</Element> </Object> <Records> <Record> <Element>GMS</Element> <Value></Value> </Record> <Record> <Element>ID</Element> <Value>0011f887252346818a59fedffe6d7821 </Value> </Record> <Record> <Element>XM</Element> <Value>李明</Value> </Record> <Record> <Element>XB</Element> <Value>男</Value> </Record> <Record> <Element>GMS</Element> <Value>1111111111111111111</Value> </Record> <Record> <Element>ID</Element> <Value>0015224632e9476aaa8f419dcfc222b9 </Value> </Record> <Record> <Element>XM</Element> <Value>柳眉</Value> </Record> <Record> <Element>XB</Element> <Value>女</Value> </Record> </Records> <Response>
其中<Object>中的内容是每一个人所具有的属性,<Records>里面的内容是每个人对应属性的数值。
然后再对其进行修改操作,我原来使用的是dom4j,但对于大数据量的xml文件操作时就会出现内存溢出错误。因此我现在换用了SAX来解析,因为SAX是事件触发的,遇到换行或者空白时也会触发void characters(char ch[], int start, int length),解析出好多无关的比如"\n"的字符,怎样只获取到数值内容忽略掉无关内容,比如对于后一条记录获取到如下内容:
GMS
1111111111111111111
ID
0015224632e9476aaa8f419dcfc222b9
XM
柳眉
XB
女
我获取到字符内容后还要进行判断修改操作,如何判断获取到的某一项内容,比如GMS对应的数值内容为空呢。我原来是将characters()方法 中获取到的字符内容放在List中,但我发现里面的无关内容太多,并且当某一项为空时List里面并没有存放相应的null或者" "。处理30M以上的xml如果不用sax,还有没有其他的方法。这个问题已经困扰我四五天了,一直没解决掉,还请大家多帮忙、多指教啊。
作者: yunzhongfeiniao 发布时间: 2011-08-06
还请大家帮帮忙呢 不会是都在看超级杯的直播吧。
作者: yunzhongfeiniao 发布时间: 2011-08-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28