使用xmldocument.load加载XML的时候报内存溢出

fanhui_fly 2014-10-15 02:39:08
先上代码
XmlDocument doc = new XmlDocument();
doc.XmlResolver = null;
doc.Load(xmlPath[i].ToString());

使用xml加载的时候如果xml中的数据量小的时候,没有任何问题,但是当XML中的数据量过大的时候就会出现 “System.OutOfMemoryException”类型的未经处理的异常在 System.Xml.dll 中发生 这个错误

请问下是什么问题

...全文
432 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiawaziaixialing 2014-10-16
  • 打赏
  • 举报
回复
他的XML是拿来当数据库了吧
Alphy2011 2014-10-16
  • 打赏
  • 举报
回复
有点吓人啊,上G的XML
@sunshine@ 2014-10-15
  • 打赏
  • 举报
回复
网上有XML分割文件的工具,分割成小文件,再一个个读
Justin-Liu 2014-10-15
  • 打赏
  • 举报
回复
以G为单位的XML。。。 果然是高手
於黾 2014-10-15
  • 打赏
  • 举报
回复
比如以文本的方式读取,一行一行读 用readline读
fanhui_fly 2014-10-15
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
以G为单位,你内存根本都放不下,不溢出还想怎么的 真的以G为单位,就不能简单的调用xml类一下把整个文件都读到内存里 你得一部分一部分的去读取,然后自己解析数据
能具体点么,,怎么一部分一部分的去读取啊
於黾 2014-10-15
  • 打赏
  • 举报
回复
以G为单位,你内存根本都放不下,不溢出还想怎么的 真的以G为单位,就不能简单的调用xml类一下把整个文件都读到内存里 你得一部分一部分的去读取,然后自己解析数据
jsnjlhb 2014-10-15
  • 打赏
  • 举报
回复
以G为单位的xml读取,还没试过。哈哈
fanhui_fly 2014-10-15
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
过大是多大?
以G为单位,别说为什么不存数据库,我也想知道的......
fanhui_fly 2014-10-15
  • 打赏
  • 举报
回复
当然我也是使用过xmltextreader ,但是

<article-id pub-id-type="doi">10.1332/030557382782628914</article-id>
 <article-id pub-id-type="sici">0305-5736(19820101)10:1L.85;1-</article-id>
 <article-id pub-id-type="publisher-id">s6.phd</article-id>
这样的我就不知道怎么读了.....
於黾 2014-10-15
  • 打赏
  • 举报
回复
过大是多大?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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