【问题标题】:Question about using StAX with an endless stream of xml files关于将 StAX 与无穷无尽的 xml 文件流一起使用的问题
【发布时间】:2020-01-24 12:36:57
【问题描述】:

我有一个服务器正在运行,它每秒发送一个 xml 文件(最终需要升级到 800 个文件/秒)。我编写的客户端监听服务器,处理第一个文件非常好,但是一旦第一个文件被完全处理并尝试转到第二个文件,我收到以下错误:

javax.xml.stream.XMLStreamException: ParseError at [row,col]:[164,6] 消息:匹配“[xX][mM][lL]”的处理指令目标是 不允许。

我假设这是因为它正在读取下一个 xml 文件 <?xml version="1.0" encoding='null' standalone='no'?> 的开头并导致错误?

【问题讨论】:

    标签: java stax


    【解决方案1】:

    正如您所假设的,此异常是由 XML 声明(它是 prolog 的一部分)不在文档中的第一个元素之前引起的 spec。根据您用于读取文件的实现,您应该重置您的阅读器或关闭并为每个文件创建新实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多