我想在ForXMLPath查询中包含一行(简单文本)
for
但是我遇到了困难。
当我尝试时,它会带来奇怪的字符。
请帮助。
谢谢。
ID
我希望如此
ID
但显示在下方
<Cat>
答案 0 :(得分:0)
我必须承认,您的问题不清楚...
XML不仅是带有花哨功能的文本,而且是一个非常严格组织的基于文本的数据容器。
一个简单的SELECT '<Cat>'
在查询中没有FOR XML
的情况下永远不会返回
仅作一般说明:
<Cat>
放在XML内,则整个输出将是损坏的XML。此开始标记要求结束</Cat>
(或者-或者是自闭合<Cat />
)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>