Я пытаюсь использовать scala.xml.pull.XMLEventReader примерно так:
private val in =
new XMLEventReader(Source.fromInputStream(
new BufferedInputStream(sock.getInputStream()), "utf-8")).buffered
Затем я перебираю поток XML с помощью:
while (in.hasNext) {
in.next match { ... }
}
Проблема здесь в том, что xmleventreader блокирует «hasNext» и не оповещает о новых XML-тегах, которые, как я знаю, поступили (я отслеживал поток с помощью TCP Dump .. и могу видеть тег в конце, но до сих пор даже не уведомлен, предыдущий тег был закрыт).
Я пробовал это в scala 2.8.0, 2.8.1 и 2.9.0
Также пробуется без ".buffered" и без использования BufferedInputStream, но результаты были одинаковыми.
Есть ли надежда или XMLEventReader просто сломан?