更新Java 社区中没有现成的 XML 解析器可以进行 NIO 和 XML 解析。这是我找到的最接近的,但不完整:http ://wiki.fasterxml.com/AaltoHome
我有以下代码:
InputStream input = ...;
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
XMLStreamReader streamReader = xmlInputFactory.createXMLStreamReader(input, "UTF-8");
问题是,为什么方法 #createXMLStreamReader() 期望在输入流中有整个 XML 文档?如果它似乎无法处理一部分 XML 数据,为什么还要将其称为“流阅读器”?例如,如果我喂食:
<root>
<child>
对它来说,它会告诉我我错过了结束标签。甚至在我开始迭代流阅读器本身之前。我怀疑我只是不知道如何正确使用 XMLStreamReader。我应该能够为它提供数据,对吧?我需要它,因为我正在处理来自网络套接字的 XML 流,并且不想将整个源文本加载到内存中。
谢谢你的帮助,尤里。