我有以下产生 XML 输出的查询:
select Top 10 1 as tag,
null as parent,
property_name as [Property!1!PropertyName!cdata],
(select 2 as tag,
1 as parent,
null as [Subdivision!2!SubdivisionName!cdata]
from subdivision s
where s.subdivision_id=p.fk_subdivision_id
FOR XML EXPLICIT)
from property p
FOR XML EXPLICIT,root('Properties')
我预期的结果是:
<Properties>
<Property>
<PropertyName><![CDATA[Test Property]]></PropertyName>
<Subdivision>
<SubdivisionName><![CDATA[Test Subdivision]]</SubdivisionName>
</Subdivision>
</Property>
</Properties>
我需要将数据包含在cdata
标签中。所以我用FOR XML EXPLICIT
.
当我运行查询时,它给出了这个错误:
FOR XML EXPLICIT 查询包含无效的列名 ''。使用 TAGNAME!TAGID!ATTRIBUTENAME[!..] 格式,其中 TAGID 是一个正整数。
我浏览了很多论坛,但他们没有帮助我。请任何人帮助我构建查询或向我提供任何有用的链接。
提前致谢