我在select语句中输出XML格式的响应。如何在没有列名的SQL查询中执行FOR XML
XML架构如下:Placemark->MultiGeometry->Polygon-><more children>
我正在使用现有数据。
我与运行表,让我们称之为表1,具有
几何字段的值已预格式化的名称(VARCHAR数据类型),风格(VARCHAR数据类型)和几何(XML数据类型)已经有xml了。所有记录的每个值的根标签是MultiGeometry。
这是问题所在。
如果我执行:
select name, style, geometry from table1
for xml path('Placemark'), ELEMENTS
我收到此:
<Placemark>
<Name>stuff</Name>
<style>style stuff</style>
<Geometry>
<MultiGeometry>...xml...</MultiGeometry>
</Geometry>
</Placemark>
这个失败的模式,因为该模式(KML架构)要求MultiGeometry是内标的子标签,并且架构无法识别<Geometry>
标记。
我需要这样的:
<Placemark>
<Name>stuff</Name>
<style>style stuff</style>
<MultiGeometry>...xml...</MultiGeometry>
</Placemark>
但尝试:
select name, style, geometry as [ ]
from table1 for xml path('Placemark'), ELEMENTS
无法查询。
如何在不带中间标签的情况下将MultiGeometry放置在地标中(例如<Geometry>
)?
感谢很多
我喜欢这个主意,但是,有时XML是真正的大。我希望不必在其上运行功能。如果这确实是唯一的方法,那就这样吧。我将继续等待更长的时间来看其他想法。 – arcee123