【问题标题】:Message Broker XMLNSC parser: how to avoid quotes escaping?Message Broker XMLNSC 解析器:如何避免引号转义?
【发布时间】:2016-09-23 03:24:03
【问题描述】:

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

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

变成

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

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

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

你知道怎么做吗?或者可能是一种解决方法?

PS

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

【问题讨论】:

  • 我刚刚在 Broker V8 上尝试了这个,使用 XMLNSC 配置了 MQ 输入,并且在调试器中和将消息写回 MQ 时都看不到转义。你在哪里看到逃跑的?
  • 我遇到了这个问题,在我的情况下,这是因为我创建了一个用户定义的属性并错误地用“(双引号)将该属性括起来并在 XML 映射中使用了该属性,并且双引号被转义了。

标签: xml messagebroker ibm-integration-bus


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多