1

当使用 Message Broker 的 XMLNSC 解析器时,它通常会转义 XML 中的双引号,如下所示:

<MyElement>Some "Text" inside</MyElement>

变成

<MyElement>Some &quot;Text&quot; inside</MyElement>

其中一位客户声称,这种逃跑对他们来说是一个真正的问题。

同时,就我在 XML 规范中所见,这种转义不是强制性的,所以我试图找到一种跳过它的方法,但运气不好。

关于如何完成的任何想法?或者解决方法可能是?

附言

我们运行版本 10(称为集成总线),但我记得旧版本的行为是相同的(从 6 开始)

4

1 回答 1

2

您是正确的,标签值中引号字符的转义是可选的。消息代理和 IIB 总是转义引号字符,无论是否需要转义。转义不会改变数据;任何正确编写的 XML 解析器都会解码该值并将原始字符串返回给应用程序。您的客户要么使用了一个写得很糟糕的应用程序,要么他们误解了这种情况。如果确实需要避免转义,可以使用 XMLNSC.AsIsElementContent 字段类型。不过,这样做需要您自担风险。您应该向您的客户解释这是他们的应用程序中的错误,而不是 IIB 中的缺陷。

于 2016-05-31T18:22:42.350 回答