2016-05-25 6 views
0

При использовании XMLNSC парсер Message Broker он обычно избегает двойных кавычек в XML, как показано ниже:Message Broker XMLNSC-парсер: как избежать кавычек экранирования?

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

становится

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

Один из клиентов утверждает, что такое экранирование является реальной проблемой для них.

В то же время такое экранирование не является обязательным, насколько я могу видеть в спецификации XML, поэтому я попытался найти способ пропустить его, но не повезло.

Любая идея о том, как это можно сделать? Или обходной путь может быть?

PS

Бежим версии 10 (которая известна как интеграционная шина), но я помню, что поведение такое же для более старых версий (начиная с 6-го)

+0

Я только что попробовал это на Брокере V8 с входом MQ, настроенным с помощью XMLNSC, и не могу видеть экранирование ни в отладчике, ни когда я пишу сообщение обратно в MQ. Где вы видите побег? –

ответ

1

Вы правы, что экранирование кавычек внутри значение тега необязательно. Брокер сообщений и IIB всегда избегают символа кавычки, независимо от того, требуется ли экранирование. Экранирование не изменяет данные; любой правильно написанный синтаксический анализатор XML будет декодировать значение и вернуть исходную строку в приложение. Ваш клиент либо использует очень плохо написанное приложение, либо неправильно понял ситуацию. Если вам действительно необходимо избегать экранирования, вы можете использовать тип поля XMLNSC.AsIsElementContent. Сделайте это на свой страх и риск. И вы должны объяснить своему клиенту, что это ошибка в их приложении, а не дефект в МИБ.

 Смежные вопросы

  • Нет связанных вопросов^_^