xml - 我可以使用异步 Aalto-XML 作为 JAXB 实现吗?
问题描述
是否可以使用 aalto-xml 作为 JAXB 实现?
我试图将 AsyncXMLStreamReader 传递给 JAXB 上下文:
val asyncInputFactory: AsyncXMLInputFactory = InputFactoryImpl()
asyncInputFactory.configureForSpeed()
val asyncStream = asyncInputFactory.createAsyncFor(xml.toByteArray())
return context.createUnmarshaller().unmarshal(asyncStream)
但它以错误“阅读器必须在 START_ELEMENT 事件,而不是 257 事件”结束
有没有办法将 aalto 与 JAXB 一起使用,而不是编写低级 xml 解析代码?
问候,
解决方案
您收到的错误与异步扩展有关:
AsyncXMLStreamReader.EVENT_INCOMPLETE(值 257;刚好超出 Stax API 保留的范围)用于表示“尚不可用”(没有更多数据)
有关更多信息,请参阅https://github.com/FasterXML/aalto-xml
我不知道默认情况下支持异步扩展的任何 JAXB 实现。
推荐阅读
- java - Spring JPA ManyToOne findByJoinColumn / findByForegignKey
- swift - 为什么我可以用 List 列出一个数组,但不能用 For 循环和 Text 列出?
- python - 如何将我的 main() 函数输出为 CSV 文件
- javascript - 如何允许用户更改 JSON 数组
- c++ - 如何获取 C++ 项目中其他项目文件的路径?
- css - 用于 CSS 的 Opentype `name` 记录
- html - Dompdf 从不应用任何 css 文件
- android-studio - 较长的字符串数组条目导致构建失败
- javascript - 如何每 100 毫秒将元素的不透明度降低 0.1?
- c# - 如何通过分组到列表创建MVC chtml视图