#xml #visual-studio #xslt #biztalk
Вопрос:
Я использую процессор Visual Studio XSLT в проекте BizTalk.
В XSLT <tag/> or <tag></tag>
создается вывод с дополнительным пространством на конце, как это <tag />
Когда выбор не дает результатов: <tag><xsl:value-of select="s0:tag/text()"/></tag>
дает мне <tag/>
, и это нормально.
Таким образом, при использовании версии без выбора остается дополнительное пространство. Это дополнительное пространство имеет значение при кодировании этого XML в JSON.
Как избавиться от этого дополнительного пространства с помощью более элегантного подхода, чем выбор пустого тега?
Комментарии:
1.
<tag/>
это в точности то же самое,<tag />
что и . Я не знаю, можете ли вы контролировать то, как ваш процессор сериализует выходное дерево. В любом случае, если это имеет значение для вашего целевого приложения, то это целевое приложение, которое необходимо исправить.2. Логически да, но это дополнительное пространство имеет значение при кодировании этого XML в JSON, и этот кодер встроен в движок Biztalk, поэтому я считаю, что он должен быть управляемым
3. Каким образом
<tag/>
кодируется в JSON, как кодируется для<tag />
разных? И какой результат вы хотите получить? Я{ "tag" : null }
предполагаю{ "tag" : "" }
, что это может быть проблемой, но вы на самом деле не объяснили, какая именно проблема возникает.4. @Мартин Хоннен Хорошо угадал его { «тег» : null } по сравнению с { «тег» : «» }
5. Выполняется ли кодирование в JSON вашим собственным кодом? Или какой-то API? Есть ли у него какие-либо параметры, как сопоставить пустые XML-элементы с JSON, которые вы можете настроить?