Biztalk Mapper: как обнаружить узел, который не входит в XML
Я хотел бы знать, как обнаружить, что узел не присутствует в источнике. Я пробовал сотни вещей с логическими функтоидами, но безуспешно.
Третий случай этой страницы - то, что я ищу: http://danshultz.blogspot.com/2007/08/logical-existence-isnil-empty-string.html
Заранее спасибо.
3 ответа
Единственный способ, которым мне удалось сделать это на карте, - использовать XSLT в скриптообразном функтоиде.
Вы можете использовать функтоид Logical Exsence. Если элемент отсутствует в исходном сообщении, этот functoid вернет false.
Если вам необходимо выполнить некоторую логику, основанную на отсутствии элемента (например, сопоставить значение по умолчанию с выходным сообщением), передайте выходной сигнал функции логического существования в логическое не возвращать истину, затем подключите выходной сигнал логического отказа к функтоиду отображения значений со вторым входом, установленным на любое значение по умолчанию.
Если это элемент, используйте логическую строку.
если вы хотите проверить запись или узел, используйте логическую строку и подключите ее к любому элементу в этом узле или записи.
дайте мне знать, если это работает для вас или нет.