【问题标题】:Invalid character in XML transformationXML 转换中的无效字符
【发布时间】:2021-10-31 14:54:36
【问题描述】:

我有一个带有如下标签的xml文件

<mvaKode>VHØY</mvaKode>

我创建了一个转换器,它将 mvaKode 中的值转换如下

<EXTERNAL_TRANSACTION_CODE>
     <xsl:value-of select="mvaKode"/>
</EXTERNAL_TRANSACTION_CODE>

但是当我进行转换时,我收到以下错误

An invalid character was found in text content. Error processing resource 'http://dse1xdiapp9142:8082/servlet/org.netbeans....

错误是由于 mvaKode 中的 Ø 字符(瑞典字符)引起的。所以这似乎是一个编码问题。

有什么办法可以摆脱这个错误??

非常感谢任何帮助

【问题讨论】:

  • 您的 XML 是由该 servlet 动态生成的还是静态文件?
  • 使用发布的代码无法重现该问题:xsltfiddle.liberty-development.net/jxWZS7U。请提供一个可重现的示例并说明您使用的是哪个处理器。
  • 那么您的 Java 代码从磁盘读取该文件并将其发送到客户端的方式是错误的。显示该代码和 XML 的最小示例。
  • 可能是您的处理器无法处理非 ASCII 字符。或者(更可能的是,恕我直言)您的处理器出于某种原因认为源编码使得字符无效。
  • 正如我所说,XML 和 XSLT 不是问题。在http://dse1xdiapp9142:8082/... URL 下服务 XML 的代码是。

标签: xml xslt-1.0


【解决方案1】:

首先,尝试确定 (a) 是否存在存储的文件中的数据被错误编码,或者 (b) 存在对编码的“误解”,从而使文件使用编码 X 进行编码,但是正在使用编码 Y 进行解码。(原因几乎可以肯定是这两个选项之一)。

如果原因是 (a),那么您需要 (i) 修复现有数据,并 (ii) 首先调查数据是如何损坏的,以防止再次发生。

如果原因是 (b),那么您需要在某处修复配置设置,例如在您的 Web 服务器中。

从所提供的信息来看,这就是我们现阶段所能告诉您的所有信息,但希望它可以为您提供足够的询问渠道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2014-02-18
    • 1970-01-01
    • 2016-03-10
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多