Есть ли процессор XPath для модели SAX? - PullRequest
55 голосов
/ 08 декабря 2009

Я ищу оценщик XPath, который не перестраивает весь документ DOM, чтобы искать узлы документа: на самом деле целью является управление большим объемом данных XML (в идеале более 2 ГБ) с помощью модели SAX, что очень хорошо для управления памятью и дает возможность поиска узлов.

Спасибо всем за поддержку!

Для всех тех, кто говорит, что это невозможно: я недавно, после того, как задал вопрос, нашел проект с именем "saxpath" (http://www.saxpath.org/),, но я не могу найти ни одного проекта реализации.

Ответы [ 14 ]

0 голосов
/ 09 февраля 2015

Вы пробовали также QuiXPath https://code.google.com/p/quixpath/?

0 голосов
/ 08 декабря 2009

Стандартный javax xpath API технически уже работает с потоками; javax.xml.xpath.XPathExpression можно сравнить с InputSource, который, в свою очередь, может быть построен с Reader. Я не думаю, что это создает DOM под одеялом.

0 голосов
/ 08 декабря 2009

Я не думаю, что xpath работает с SAX, но вы можете взглянуть на StAX, который является расширенным API потокового XML для Java.

http://en.wikipedia.org/wiki/StAX

0 голосов
/ 08 декабря 2009

М-м-м-м, я не знаю, действительно ли я вас понимаю. Насколько я знаю, модель SAX ориентирована на события. Это означает, что вы делаете что-то, если во время синтаксического анализа встречается определенный узел. Да, это лучше для памяти, но я не понимаю, как вы хотели бы получить XPath в него. Поскольку SAX не строит модель, я не думаю, что это возможно.

...