例如,我们有一些IHttpHandler。我们有两个变量:XmlElementxmlResponse-包含一个非常大的XML。HttpContext上下文-当前HttpContext。简单的解决方案:context.Response.Write(xmlResponse.OwnerDocument.OuterXml);但是当XML非常大时,我们可以在该行得到OutOfMemoryException。调用堆栈如下所示:atSystem.String.GetStringForStringBuilder(Stringvalue,Int32startIndex,Int32length,Int32
我们有一个应用程序,其中从存储的过程结果集创建XML字符串,并使用XSLT进行转换以返回调用servlet。这适用于较小的数据集,但会导致大量数据出现内存不足错误。在这种情况下,理想的解决方案是什么? 最佳答案 XSLT转换通常需要将整个数据集加载到内存中,因此最简单的事情就是获得更多内存。如果您可以重写XSLT,则可以使用XML流转换,它允许对数据进行增量处理。 关于java-从结果集中输出大的xml,我们在StackOverflow上找到一个类似的问题:
我有一个XML文件,我想用python解析它。最好的方法是什么?将整个文档记入内存将是灾难性的,我需要以某种方式一次读取一个节点。我所知道的现有XML解决方案:元素树迷你xml但由于我提到的问题,我担心它们无法正常工作。我也无法在文本编辑器中打开它-generao中关于处理巨型文本文件的任何好的提示? 最佳答案 首先,您是否尝试过ElementTree(内置的纯Python或C版本,或者更好的是lxml版本)?我很确定他们都没有真正将整个文件读入内存。当然,问题在于,无论是否将整个文件读入内存,生成的解析树最终都会在内存中。Elem
目前,我正在使用LIBXML::SAXParser::Callbacks来解析包含140,000个产品数据的大型XML文件。我正在使用一项任务将这些产品的数据导入我的Rails应用程序。我最后一次导入只用了不到10个小时就完成了:rakeasi:import_products--trace26815.23suser1393.03ssystem80%cpu9:47:34.09total当前实现的问题在于XML中的复杂依赖结构意味着我需要跟踪整个产品节点以了解如何正确解析它。理想情况下,我想要一种可以单独处理每个产品节点并能够使用XPATH的方法,文件大小限制我们使用需要将整个XML文件加
我正在尝试将xml文件加载到我的应用程序并将其显示在ListBox上。问题是xml文件大约5MB,在手机上加载大约需要40秒。当手机锁定屏幕并返回时,又需要40秒。我尝试使用isolatedstorage将数据存储在其上,但它并没有提高性能。这是我加载数据的代码:XDocumentloadedData=XDocument.Load("BigFile.xml");vardata=fromqueryinloadedData.Descendants("w")orderby(string)query.Element("e")selectnewmyClass{First=(string)quer
我有一个XML文件,它是从数据库(Oracle11gUnicode)表导出的结果。该表有一个代表文件的BLOB字段。该文件可能非常大。所以在我有一个非常大的文件的情况下,在XML中获取该文件的一个非常大的字符串表示形式。我必须获取此字符串的字节才能将文件插入另一个数据库实例。此时XML已收费,然后我有一个表示文件的字符串。我所做的是这样的:Encoding.Unicode.GetBytes(stringFileRepresentation);但是我遇到了一个OutOfMemoryException。如果我这样做:Encoding.Unicode.GetBytes(stringFileR
我想创建一个文本框来加载xml文件并让用户编辑它们。但是,我无法使用XmlDocument来加载,因为文件可能非常大。我正在寻找以block的形式流式传输/加载xml文档的选项,这样我就不会出现内存不足的错误——同时,性能也很重要。你能告诉我什么是好的选择吗? 最佳答案 试试Scintilla.NET,它比TextBox好得多!http://scintillanet.codeplex.com/加载文档很简单:using(TextReaderreader=newStreamReader(myFilePath,Encoding.UTF8
我有一个巨大的XML文件,我有点不知道如何处理它。它有60GB,我需要阅读它。我在想是否有办法使用多处理模块来读取python文件?有没有人有任何可以向我指出的这样做的示例?谢谢 最佳答案 对于这种大小的文件,我建议您使用流式XML解析器。在Python中,这将是来自cElementTree或lxml.etree的iterparse方法:http://effbot.org/zone/element-iterparse.htm 关于python-使用多处理解析非常大的XML文件,我们在St
我是Groovy的新手,我正在尝试使用XmlSlurper读取一个(相当)大的XML文件(超过1Gb),由于它不构建,这应该对大文件产生奇迹内存中的整个DOM。然而,我不断收到“OutOfMemoryError:Java堆空间”,这让我觉得我显然做错了什么。我尝试增加Xmx设置,但我宁愿解决这个问题,因为之后我可能不得不处理更大的文件。这是我使用的代码行:defposts=newXmlSlurper().parse(newFile("posts.xml"))有什么问题的提示吗?提前致谢热雷米。 最佳答案 Groovy的XmlSlur
我有一个以下格式的XML文件我需要一个BASHSHELL脚本来将这个主xml文件拆分成多个小的XML文件,这些文件应该包含中的内容。至标签。文件名可以是父文件名加上运行序列号,例如_1表示ex:20110721_1.xml等。请帮我编写脚本。 最佳答案 不是纯粹的答案,但你可以自己调整:csplit-ksfpart.src.xml/\/"{100}"2>/dev/null这个命令会拆分src.xml使用正则表达式/\/作为分隔符并产生1..100part.*文件。你需要玩正则表达式......