Действительно простой SAX-парсер командной строки для XML-файлов - PullRequest
3 голосов
/ 06 августа 2009

Я использовал xmlstartlet для обработки файлов XML раньше. Вы можете задать ему простую строку comannd, и он сгенерирует (внутренне) шаблон XSLT и применит его к XML-файлу.

Однако теперь у меня большой XML-файл, поэтому мне действительно нужно использовать SAX, а не XSLT. Вместо того, чтобы писать простую программу для этого, мне интересно, есть ли более простой способ получить действительно простой SAX-парсер из командной строки. Вы могли бы дать ему несколько вариантов, и он просунул бы вдоль вашего XML-файла и распечатал бы из него некоторые структурированные данные.

Ответы [ 3 ]

2 голосов
/ 07 августа 2009

Загрузите Python и запустите его в интерактивном режиме командной строки.

DOCS http://docs.python.org/library/xml.sax.html

Пример: Отображение прогресса при анализе огромного файла в Python

0 голосов
/ 28 августа 2014

Аналогично, у меня есть 1.1G XML-файл.

Использование xsltproc занимает более 6 ГБ памяти, но завершает .

Я также пробовал saxon, но ему не хватает памяти, и не удается .

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

В конце мы последовали совету Данглунда и использовали Python, банкомат.

0 голосов
/ 10 октября 2011

Не уверен, что вы хотите извлечь и как (потому что с помощью sax вам нужно все делать самостоятельно), поэтому «конфигурация» довольно сложна, поэтому нет никаких инструментов командной строки, только языки программирования, которые позволяют саксофон.

Насколько велик ваш xml? Возможно http://ofb.net/~egnor/xml2/ может помочь (также в зависимости от размера вашего xml.

...