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

标签 xml vb.net wikipedia

我有一个很大的维基百科转储,我想将其分成不同的文件(每篇文章一个文件)。我写了一个 VB 应用程序来为我做这件事,但它很慢,经过几个小时的切割后就废了。我目前正在使用另一个应用程序将文件分成较小的 50mb block ,但这需要很长时间(每个 block 20-30 分钟)。如果我这样做的话,我应该能够将它们中的每一个单独切割。

有没有人对更快地剪切此文件的方法有任何建议?

最佳答案

使用 C# 执行此操作的最简单方法是使用 XmlReader。您可以单独使用 XmlReader 以实现最快的实现,也可以与新的 LINQ XNode 类结合使用以实现性能和易用性的完美结合。有关示例,请参阅此 MSDN 文章:http://msdn.microsoft.com/en-us/library/system.xml.linq.xnode.readfrom.aspx .

您应该能够修改该示例,一次只将一个文档的节点保存在内存中,然后将其作为文件写回。它应该表现良好并且适用于非常大的文件。

关于xml - 将大型 XML 文件切割成小块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4841315/

相关文章:

java - 如何为这个 xml 创建一个 dtd?

vb.net - Option Strict on 时 Excel 列错误

wikipedia - 如何获取包含某些类型内容表的维基百科页面列表?

python - BeautifulSoup4 with Python3 - 如何使用规则将输出数据分离并写入不同的文件中?

java - Spring 。 "schemaLocation ... must have even number of URI' 秒”

java - Jaxb:如何解码 xs:任何 XML 字符串部分?

vb.net - Visual Basic .Net 3D 引擎

python - 使用 python 的 urllib2 和 Beautifulsoup 爬取维基百科时删除 html 标签

python - xml.etree.ElementTree.Element.remove 不删除所有元素

mysql - 删除 VB.NET 中的 ListView 项目