【问题标题】:parsed values are getting truncated on unix platform while parsing xml using dom4j and jdk 7在使用 dom4j 和 jdk 7 解析 xml 时,解析的值在 unix 平台上被截断
【发布时间】:2017-07-04 14:58:19
【问题描述】:

我正在使用 dom4j 来解析 xml。 Windows 平台(jdk 7)上的解析进展顺利,当我在具有 jdk 7 的 UNIX 上部署相同的代码时,它会随机截断解析的值。有时它根本不解析几个值。

问题在窗口上无法产生,并且在 UNIX 上是随机的,我无法追踪根本原因。代码在两个地方都以批处理模式运行。谁能帮我解决这个问题?

【问题讨论】:

  • 没有更多信息,不是真的。我建议您以最小的方式复制它。我们不知道 XML 来自哪里,是什么触发了解析等等。

标签: java xml unix dom4j


【解决方案1】:

当您从 JDK 附带的 XML 解析器中获得随机损坏的数据时,首先要做的是使用 Apache Xerces 进行尝试。这通常可以解决问题。 JDK 解析器虽然基于 Apache Xerces 的某个版本,但有一些讨厌的错误。我认为他们最终在 JDK 8 中得到了修复,但我不会发誓。

(您必须查看如何配置 DOM4J 以在下面使用不同的 SAX 解析器的详细信息)。

【讨论】:

  • 感谢您的指导。 dom4j 在 Windows 上工作,在 UNIX 上中断?当我在本地 Windows 机器上进行反向测试时,一切都被解析得很好。
  • 首先我只是猜测这是 JDK 解析器错误(因此与 DOM4J 无关)。其次,我不知道这个错误是否与平台有关,但这并不让我感到惊讶。在您按照我的建议使用 Apache Xerces 进行尝试之前,再问我一些问题是没有意义的。
  • 你好迈克尔,有一个疑问。 Xerxes 支持 xpath 吗?
  • Xerces 是一个 XML 解析器,而不是 XPath 引擎。它将数据提供给 DOM4J,而 DOM4J 使您可以访问 XPath。
【解决方案2】:

使用 JDOM 库解决了我的问题。

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2011-06-05
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多