Должен признать, что ваш вопрос неясен ...
XML - это не просто текст с необычными дополнениями , а очень строго организованный текстовый контейнер для данных.
Простой SELECT '<Cat>'
никогда не вернется как без FOR XML
где-то в вашем запросе. Поэтому, пожалуйста, покажите нам (уменьшенный!) Пример вашего полного запроса и ожидаемого результата, лучше всего предоставленного в виде MCVE ( автономный образец с DDL, данные образца, собственная попытка и ожидаемый результат).
Просто некоторые общие замечания:
- Если вы хотите поместить
<Cat>
в ваш XML, весь вывод будет разбит XML. Этот открывающий тег требует закрытия </Cat>
(или - альтернативно - самозакрывающегося <Cat />
)
- Предположительно, вы пытаетесь добавить в XML-теги текстовые записи, как если бы вы это делали в XSLT, JS, ASP.Net или любом другом подходе к созданию XML / HTML.
- Предположительно, ваше решение будет подходом
FOR XML PATH()
без необходимости использования встроенного тега в вашем XML.
Просто чтобы дать вам представление:
SELECT 'test' AS [SomeElement] FOR XML PATH('SomeRowTag'),ROOT('SomeRootTag');
использует этот XML
<SomeRootTag>
<SomeRowTag>
<SomeElement>test</SomeElement>
</SomeRowTag>
</SomeRootTag>
Если вы хотите добавить <Cat>
элемент, вы можете использовать XPath, как здесь
SELECT 'test' AS [Cat/SomeElement] --<-- You can add nest-levels here!
FOR XML PATH('SomeRowTag'),ROOT('SomeRootTag');
Результат
<SomeRootTag>
<SomeRowTag>
<Cat>
<SomeElement>test</SomeElement>
</Cat>
</SomeRowTag>
</SomeRootTag>