【问题标题】:StAX parser not moving forward when end tag not found未找到结束标记时,StAX 解析器不前进
【发布时间】:2017-11-22 05:44:41
【问题描述】:

我正在使用 StAX 解析器来读取 xml 文件。一些 xml 文件格式不正确,这意味着有时可能会丢失结束标记。 例子: <tag1> <tag2> </tag2> <tag3> <tag4> </tag4> </tag1> 在这种情况下,当没有找到结束标记时,StAX 解析器不会向前移动。它只能读取到 'tag3'。

请建议我如何解决这个问题或任何其他可以解析整个文件而不考虑文件格式的解析。

【问题讨论】:

  • 在提供给 xml 解析器之前修复 xml 以使其格式良好...或者编写您自己的解析程序...解决这个问题没有简单的方法...

标签: xml parsing stax


【解决方案1】:

输入不是“格式不正确的 XML”,它根本不是 XML。您应该为 XML 解析器提供有效的 XML 以使其正常工作,而不考虑 STaX 或 DOM。

【讨论】:

  • 是否有任何框架可以读取此类文件?我的主要目标是读取 XML 文件标签并获取不考虑格式的内容。如果找到阅读内容,我需要搜索标签。
  • 有一些工具,例如validator.nu 和HTML Tidy,它们会尝试从垃圾XML 中创建好的XML。当然,最好的办法是从一开始就避免创建垃圾 XML。
  • 创建 XML 文件不在我的手中。其他一些人创建了这些文件,我需要阅读它们。这就是我寻找此类工具的原因。
  • 您可以使用@MichaelKay 提到的工具或自己清理输入(如果您了解创建 XML 的过程,您可以通过过滤不需要的数据来简化问题)如果这更简单的话。
  • @Rekha 你不需要接受任何人的伪劣商品。如果是软件不工作,你会把它寄回去。你为什么接受同样损坏的数据?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
相关资源
最近更新 更多