2 ljy274476846 ljy274476846 于 2016.04.12 19:50 提问

XML大文件流解析 线程终止

最近开发一个xml文件流解析项目(web)
对方发送xml格式文件流 我方获取并进行解析入库
我写了2中方案 去获取文件流并解析
第一种
Stream m_Stream = Request.InputStream;
if (m_Stream.Length > 0){
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(m_Stream);
XmlElement xmlRoot = xmlDoc.DocumentElement;
}

第二种
StreamReader read = new StreamReader(Request.InputStream);
string xmldata = read.ReadToEnd();
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(xmldata);
XmlElement xmlRoot = xmlDoc.DocumentElement;
以上2种方式 都能获取到并且加载 但是遇到文件流大于2M(文件流长度为几百万的时候)的时候 经常报错(线程终止) 且解析的时间 经常长达几分钟
请问下有没有好的解决方案 或者配置文件 需要配置什么么?

1个回答

CSDNXIAON
CSDNXIAON   2016.04.12 20:02

XML解析 适合大文件
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

ljy274476846
ljy274476846 请问有C#代码么?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
大型XML文件的处理方法(SAX方式)
大型XML文件的处理方法在实际工作中,我们经常需要处理各种大型的XML文件,通常在10M以上,且一般规则比较简单,但是对内存和时间的要求都比较高。在这种情况下,不能使用DOM方式,因为DOM方式必须在解析文件之前把整个文档装入内存,在处理大型文件时其性能下降的非常厉害,通常会导致OutOfMemory异常。 本文推荐使用的是Simple API for XML(SAX)方式,在SAX解析器装载
SAX中止解析XML方法
思路:定义一个特定的异常类来标识,直接抛异常。在调用saxparser.parse的地方捕获这个异常。   @Override public void endElement(String uri, String localName, String name) throws SAXException { if("aaaa".equals(name)){
终止线程的源代码资源
终止线程 终止线程 终止线程 终止线程 终止线程
XML格式文件解析
PHP解析XML,注释很全
第一次写-如何用SAX高效解析超大XML文件
最近用到xml文件想把它读取之后存到数据库里面,但是在网上找了一些方法,发现不是会出现文件过大导致堆溢出的问题,就是效率太低,几百万条数据需要好几个小时甚至一两天,于是我就捉摸着自己写了一个。是用SAX解析的,存储的数据库为SQLserver2012,最终对于将近3个G包含几百万条数据 的xml文件,解析时间大概二三十分钟吧,效率还可以,当然还有待改进,没有用到多线程的方法,毕竟是初学者,很多东西都是自己瞎捉摸的,希望大家多多指点。
通过http请求传递xml流和接收xml流的代码示例
通过http请求传递xml流和接收xml流的代码示例 //1.在servlet中post一个xml流: import java.io.OutputStreamWriter; import org.jdom.Document; import org.jdom.Document; public void doPost(HttpServletRequest request, Htt
XML解析 适合大文件
XML解析 适合大文件 较复杂
Office文件的解析
Office文件的解析 引用:http://www.langye.com/a/2013417/237.shtml 【题外话】 这是这个系列的最后一篇文章了,为了不让自己觉得少点什么,顺便让自己感觉完美一些,就再把OOXML说一下吧。不过说实话,OOXML真的太容易解析了,而且这方面的文档包括成熟的开源类库也特别特别特别的多,所以我就稍微说一下,文章中引用了不少的链接,感兴
Python解析大XML文件及读取XML不全的问题
python解析大的xml文件的方法,遇到的问题以及解决方案。
dom4j基于事件流解析大XML的文件 示例
解决普通方法解析大xml的文件时,内存严重不足。