当前位置: 首页 > 面试题库 >

处理大型xml文件

鲜于凯康
2023-03-14
问题内容

我有一个很大的xml文件,其中包含许多子元素。我希望能够运行一些xpath查询。我尝试在Java中使用vtd-
xml,但有时会出现内存不足错误,因为xml太大,无法容纳到内存中。是否有替代方法来处理如此大的xml。


问题答案:

尝试http://code.google.com/p/jlibs/wiki/XMLDog

它使用sax执行xpaths,而无需创建xml文档的内存表示形式。



 类似资料:
  • 问题内容: 我正在尝试处理较大的(可能多达200M)JSON文件。文件的结构基本上是对象数组。 因此,遵循以下原则: 每个对象都具有任意属性,不必与数组中的其他对象共享它们(例如,具有相同的属性)。 我想对数组中的每个对象进行处理,并且由于文件可能很大,因此无法将整个文件内容都包含在内存中,无法解码JSON并遍历PHP数组。 因此,理想情况下,我想读取文件,为每个对象获取足够的信息并进行处理。如果

  • 问题内容: 我需要构建一个函数来处理大型CSV文件,以便在bluebird.map()调用中使用。考虑到文件的潜在大小,我想使用流媒体。 此函数应接受一个流(一个CSV文件)和一个函数(处理该流中的块),并在读取文件到末尾(已解决)或错误(已拒绝)时返回promise。 所以,我开始: 现在,我有两个相互关联的问题: 我需要限制正在处理的实际数据量,以免造成内存压力。 作为参数传递的函数通常将是异

  • 我是java编程的新手,现在我遇到了处理大文本文件的问题。我正在编写代码来处理整个文件的字符串,将其解析为一个类,在这个类中将其转换为XML。挑战在于我只能处理少于70K行的输出;如果我的内存超过800K,它将抛出一个错误“Java.lang.OutofMemoryError:Java堆空间”。下面是我的示例文件和代码。

  • 主要内容:XML解析器API,用SAX API解析XML,用DOM API解析XML可扩展标记语言(XML)是一种非常类似于HTML或SGML的标记语言。这是由万维网联盟推荐的,可作为开放标准提供。 .Net Framework中的命名空间包含用于处理XML文档的类。以下是命名空间中的一些常用类。 编号 类 说明 1 代表一个属性。属性的有效值和默认值是在文档类型定义(DTD)或模式中定义的。 2 代表CDATA部分。 3 提供几个类使用的文本操作方法。 4 表示XML注释的内容

  • 问题内容: 我必须在php中解析大型XML文件,其中之一是6.5 MB,它们甚至可能更大。如我所读,SimpleXML扩展将整个文件加载到一个对象中,这可能不是很有效。以您的经验,最好的方法是什么? 问题答案: 对于大文件,您将要使用SAX解析器而不是DOM解析器。 使用DOM解析器,它将读取整个文件并将其加载到内存中的对象树中。使用SAX解析器,它将顺序读取文件并调用用户定义的回调函数来处理数据

  • 问题内容: 我正在使用Python脚本处理大型CSV文件(数以10M行的GB数)。 这些文件具有不同的行长,并且无法完全加载到内存中进行分析。 每行由脚本中的一个函数分别处理。分析一个文件大约需要20分钟,并且看来磁盘访问速度不是问题,而是处理/函数调用。 代码看起来像这样(非常简单)。实际的代码使用Class结构,但这是相似的: 鉴于计算需要共享的数据结构,使用多核在Python中并行运行分析的