我正在使用返回属性信息的 API。一些文本信息存储在子节点中,我想将它连接成一个字符串(VARCHAR)。
我的过程是我通过 web 服务获取 xml,然后将其传递给 proc,该 proc 提取 xml 值并将它们插入到视图中,这是我返回的 xml 片段:
<properties>
<property propertyid="1234">
<bullets>
<bullet>nice garden</bullet>
<bullet>it smells a bit</bullet>
<bullet>body under the patio</bullet>
</bullets>
</property>
...
</properties>
这是如何查询 xml 以从中提取值的一瞥:
INSERT
INTO VProperty
( PropertyId,
Description
)
SELECT P.value('@propertyid', 'INT'),
NULL -- extract all the bullet text values into a single string
FROM @xml.nodes('/properties/property')
在此示例中,我希望能够从 xml 中提取信息,因此最终结果如下:
PropertyId Description
1234 'nice garden\r\nit smells a bit\r\nbody under the patio
这在纯 sql/xml 中是否可行,或者我是否需要在进入 SQL 领域之前对 xml 执行一些预处理?
非常感谢任何帮助(一如既往)。