2017-01-18 2 views
0

Я работаю над проектом, который использует генератор данных XML. Генератор передает данные через порт, который я читаю, используя несколько сокетов. Я использую StAX для синтаксического анализа данных для скрипта, который помещает данные.Java-анализ XML через непрерывный поток вместо файла

Проблема, которая имеет отношение к анализу данных. Все в Интернете используют XML-файл для получения данных, но это не полезно для меня. Генератор генерирует около 60 Мбит/мин (около 2 миллионов строк), поэтому я не думаю, что файл очень полезен. Кроме того, мы будем писать и читать/удалять данные из файла одновременно.

Есть ли у кого-нибудь предложение о том, что использовать для разбора XML-данных через StAX из потока вместо файла?

+1

Вы посмотрели на конструкторы, которые принимают 'InputStream' вместо' File' (или другого параметра на основе файла)? – Kayaman

+0

[некоторый учебник] (https://softwarecave.org/2014/02/18/parse-xml-document-using-streaming-api-for-xml-stax/), если вам интересно .. –

+0

Я попытался использовать InputStream, но это не сработало. @Kayaman – tehbobshow

ответ

2

XMLInputFactory.createXMLStreamReader от стандарта javax.xml.stream пакет принимает Reader в качестве источника данных. Reader может читать любые InputStream, необязательно из файла.

Независимо от того, какую библиотеку StAX вы используете, есть хороший шанс, что он сможет читать ввод от общего Reader/InputStream.

Смежные вопросы