关于解析XML文件的问题

marcovanbasten 2003-10-16 02:47:50
我现在有一个标准的XML文件,非常大,大概有50多兆吧,我想把它的结点内容取出来,请问有什么好办法呢?
DOM对象?会不会太大了吧?
...全文
23 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shouzi0765 2003-10-25
  • 打赏
  • 举报
回复
请问sax 是不是比dom拆树更简单呀!
  • 打赏
  • 举报
回复
今天有一个新方法:
假设:你使用Java版XML解析器
请见贴子:
http://expert.csdn.net/Expert/TopicView1.asp?id=2363472
  • 打赏
  • 举报
回复
两步之间使用文件做接口,也就是使用sax先将大文件(50M)拆分生成,比如说10个xml文件,每个文件大约5M。处理过程中将文件名放到一个数组中,在sax的public void endDocument() throws SAXException{}中调用数据处理程序循环处理每个拆分出来的临时文件。处理程序先读入文件,然后解析处理。

举例:
大文件:
<? xml version="1.0" ?>
<Doc>
<chapter>
<section>
....
....
</section>
</chapter>
<chapter>
<section>
....
....
</section>
</chapter>
<chapter>
<section>
....
....
</section>
</chapter>
.....
</Doc>

拆分后的文件的结构是每个chapter做一个文件,那么在startElement事件中tagname=chapter十建立
文件,在endElement事件tagname=chapter时关闭文件。其余事件向文件写信息就行了。
拆分后的文件:
file1:
<? xml version="1.0" ?>
<chapter>
</chapter>

file2:
<? xml version="1.0" ?>
<chapter>
</chapter>

...
...

marcovanbasten 2003-10-17
  • 打赏
  • 举报
回复
还是不明白,怎么拆分的啊?
marcovanbasten 2003-10-16
  • 打赏
  • 举报
回复
我原来就是想把它解析完,再存到数据库的!
wolf004 2003-10-16
  • 打赏
  • 举报
回复
或是把这个文件的内容再到数据库中再处理!!
marcovanbasten 2003-10-16
  • 打赏
  • 举报
回复
to long_jj:
能说具体点吗?
  • 打赏
  • 举报
回复
我的方法是:
先使用SAX将大文件分解成小文件,然后使用DOM分析数据,再处理。
1、首先分析文档类型的结构,确定怎样分解为小的文件。
2、使用DOM解析、处理分解的小文件。
gzh_seagull 2003-10-16
  • 打赏
  • 举报
回复
sax试试

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧