3

我之前使用过 xmlstartlet 来处理 XML 文件。您可以给它一个简单的命令行,它会(在内部)生成一个 XSLT 模板并将其应用于 XML 文件。

但是现在我有一个很大的 XML 文件,所以我真的需要为此使用 SAX,而不是 XSLT。与其编写一个简单的程序来执行此操作,我想知道是否有更简单的方法,从命令行获得一个非常简单的 SAX 解析器。您可以给它一些选项,它会沿着您的 XML 文件快速运行并从中打印出一些结构化数据。

4

3 回答 3

2

下载 Python 并在交互式命令行模式下运行它。

文档 http://docs.python.org/library/xml.sax.html

示例: 在 Python 中解析大文件时显示进度

于 2009-08-06T21:47:12.130 回答
0

同样,我有 1.1G 的 xml 文件。

使用 xsltproc 占用 6G 内存,但完成.

我也试过撒克逊,但内存不足并失败

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

最后我们听从了 danglund 的建议,使用了 Python、ATM。

于 2014-08-28T05:57:16.147 回答
0

不确定您要提取什么以及如何提取(因为使用 sax,您需要自己完成所有操作) - 所以“配置”非常复杂,因此 afaik 没有命令行工具,只有让您可以使用 sax 的编程语言。

你的xml有多大?也许http://ofb.net/~egnor/xml2/可以提供帮助(也取决于您的 xml.

于 2011-10-10T08:19:41.620 回答