Мне нужно прочитать большой XML-документ из сети и разбить его на более мелкие XML-документы. В частности, поток, который я читаю из сети, выглядит примерно так:
<a>
<b>
...
</b>
<b>
...
</b>
<b>
...
</b>
<b>
...
</b>
....
</a>
Мне нужно разбить это на куски
<a> <b> ... </b> <a>
(мне действительно нужны только части <b> .... </b>
, пока привязки пространства имен, объявленные выше (например, в <a>
), перемещаются в <b>
, если это облегчает).
Файл слишком большой для синтаксического анализатора стиля DOM, его нужно сделать потоковым. Есть ли какая-нибудь библиотека XML, которая может это сделать?
[Изменить]
Я думаю, что в идеале мне нужно что-то вроде способности выполнять запросы XPath в потоке XML, где анализатор потока анализирует только настолько, насколько это необходимо, чтобы вернуть следующий элемент в наборе результирующего узла (и все его атрибуты и дети). Не обязательно должен быть XPath, но что-то вроде идеи.
Спасибо!