草庐IT

iphone - 将大型 XML 文件转换为 SQLite 文件的最快方法是什么?

我正在从XML文件中检索数据,但该文件包含超过15000条记录,因此我的应用程序变慢了。所以我想将它转换成SQLLite文件(通过以编程方式使用或使用任何工具)。请为我提供任何解决方案。 最佳答案 我建议使用核心数据。解析日期,创建托管对象并让CoreData将这些对象保存到sqlite数据库中。接下来的好处是,您以后不必再关心sql语句。要预填充核心数据数据库,请阅读thisarticle.我会用Ruby或PHP编写一个简单的xml2sqlite导入器。如果您不熟悉脚本语言,请查看SQLiteManager它是一个用于管理SQLi

javascript - 在 Node.js 中解析大型 XML 文件

所以我有一个大于70mb的XML文件。我想在Node.js中解析这些数据,最终对其进行数据可视化。首先,我认为最好使用JSON而不是XML,因为Node.js更适合使用JSON。所以我计划使用xml2jsonNode模块将xml解析为JSON,但我似乎无法将xml文件写入变量,因为它太大了。我尝试使用以下代码执行此操作。varfs=require('fs');fs.readFile(__dirname+'/xml/ipg140114.xml','utf8',function(err,data,parseXml){if(err){returnconsole.log(err);}});我收

python - 在 python 中使用 lxml iterparse 解析大型 .bz2 文件 (40 GB)。未压缩文件不会出现的错误

我正在尝试解析以bz2格式压缩的OpenStreetMap的planet.osm。因为已经41G了,不想解压完全。所以我想出了如何使用bz2和lxml解析planet.osm文件的部分,使用以下代码fromlxmlimportetreeasetfrombz2importBZ2Filepath="where/my/fileis.osm.bz2"withBZ2File(path)asxml_file:parser=et.iterparse(xml_file,events=('end',))forevents,eleminparser:ifelem.tag=="tag":continueif

java - 使用外部 DTD 中的实体将大型 XML 从 ISO-8859-1 转换为 UTF-8

我有:ISO-8859-1中2.2GiB的未压缩XML,从开始定义实体的相应DTD如下:无法将解析后的XML装入RAM的计算机我要将XML导入ApacheSolr,它已经设置好并可以正常工作。Solr/Java会(理所当然地)提示扩展实体太多,我可以通过设置-DentityExpansionLimit=2000000来提出这个问题对于JVM,但我必须编辑Importer以提高System::setProperty的限制.我试过了xmllintxmllint--stream--loaddtd--encodeutf8--outputdblp.utf8.xmldblp-2018-07-01.

xml - 打开大型 xml 文件时 Eclipse galileo 挂起

我有EclipseGalileoBuildid:20100218-1602。我面临的问题是:对于一些行小于12K(大约)的XML文件,打开时没有任何问题但我有几个文件有17K行,磁盘上的大小只有550KB,一个文件struts-config只有1600行,文件大小为115KB:当我尝试打开这2个时,花了将近15到20分钟才打开。任何建议都将不胜感激,以便它可以像任何普通文件一样打开。(同一行的Java文件或js文件打开没有任何问题)谢谢 最佳答案 bug108806表明它与格式化性能有关,它今天仍然存在(bug213302,对于真正

xml - 声明式查询大型 XML 文件/流

这里是在黑暗中拍摄的,但是是否有任何库或工具可用于声明式查询大型(>>内存)XML文件(以流方式)?为了说明我想要做什么:维基百科XML转储看起来像:...AccessibleComputing102331922001-01-21T02:12:21ZRoseParks99*8622202002-02-25T15:43:11ZConversionscriptAutomatedconversion...我想将其转换为CSV,以便我可以导入Postgresql进行进一步分析:revisionid,pageid,username,userid,textsize233192,10,RosePar

android - 加载和查询大型 xml 文件 Android

我正在构建一个Android应用程序,我有一个xml文件作为我的数据源,我加载它以使用XPath进行查询,然后将结果加载到ListView中。当xml文件开始变大(最大10MB)时,问题就出现了。我想这意味着我的内存力可能有问题。我想知道在不损害设备内存或浪费宝贵时间处理数据的情况下加载xml并在文件中进行搜索的最佳方式是什么。这是我加载xml文件的时间:InputStreamisRaw=context.getResources().openRawResource(R.raw.xmlbooksource);_xmlBookSource=newInputSource(isRaw);我在这

java - 大型 XML 的 XML 节点到字符串转换

到目前为止,我在我的Android应用程序中使用DOMSource将XML文件转换为字符串。这是我的代码:publicStringconvertElementToString(Nodeelement)throwsTransformerConfigurationException,TransformerFactoryConfigurationError{Transformertransformer=TransformerFactory.newInstance().newTransformer();transformer.setOutputProperty(OutputKeys.INDEN

c# - ReadOuterXml 正在读取大型 (1 GB) XML 文件的一部分时抛出 OutOfMemoryException

我正在处理一个大型XML文件,在运行应用程序时,XmlTextReader.ReadOuterXml()方法抛出内存异常。代码行就像,XmlTextReaderxr=null;try{xr=newXmlTextReader(fileName);while(xr.Read()&&success){if(xr.NodeType!=XmlNodeType.Element)continue;switch(xr.Name){case"A":varxml=xr.ReadOuterXml();varn=GetDetails(xml);break;}}}catch(Exceptionex){//Dos

xml - 将大型 XML 文件切割成小块

我有一个很大的维基百科转储,我想将其分成不同的文件(每篇文章一个文件)。我写了一个VB应用程序来为我做这件事,但它很慢,经过几个小时的切割后就废了。我目前正在使用另一个应用程序将文件分成较小的50mbblock,但这需要很长时间(每个block20-30分钟)。如果我这样做的话,我应该能够将它们中的每一个单独切割。有没有人对更快地剪切此文件的方法有任何建议? 最佳答案 使用C#执行此操作的最简单方法是使用XmlReader。您可以单独使用XmlReader以实现最快的实现,也可以与新的LINQXNode类结合使用以实现性能和易用性的