Biztalk Mapper: как обнаружить узел, который не входит в XML

Я хотел бы знать, как обнаружить, что узел не присутствует в источнике. Я пробовал сотни вещей с логическими функтоидами, но безуспешно.

Третий случай этой страницы - то, что я ищу: http://danshultz.blogspot.com/2007/08/logical-existence-isnil-empty-string.html

Заранее спасибо.

3 ответа

Решение

Единственный способ, которым мне удалось сделать это на карте, - использовать XSLT в скриптообразном функтоиде.

Вы можете использовать функтоид Logical Exsence. Если элемент отсутствует в исходном сообщении, этот functoid вернет false.

Если вам необходимо выполнить некоторую логику, основанную на отсутствии элемента (например, сопоставить значение по умолчанию с выходным сообщением), передайте выходной сигнал функции логического существования в логическое не возвращать истину, затем подключите выходной сигнал логического отказа к функтоиду отображения значений со вторым входом, установленным на любое значение по умолчанию.

Если это элемент, используйте логическую строку.

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

дайте мне знать, если это работает для вас или нет.

Другие вопросы по тегам