如果我想向根元素记录添加属性,我能从SQL侧面实现吗?
SELECT top 1 'text' as nodeA
from test as z
FOR XML AUTO, ELEMENTS, root('record')
我希望能够生成这样的 XML 文件:
```xml
...
``` <Root attribute="value">
<z>
<NodeA>text</NodeA>
</z>
</Root>
如果我想向根元素记录添加属性,我能从SQL侧面实现吗?
SELECT top 1 'text' as nodeA
from test as z
FOR XML AUTO, ELEMENTS, root('record')
...
``` <Root attribute="value">
<z>
<NodeA>text</NodeA>
</z>
</Root>
使用新的FOR XML PATH
语法:
SELECT TOP 1
'someValue' AS '@Attribute',
'text' as 'z/NodeA'
FROM dbo.Test
WHERE....
FOR XML PATH('YourElement'), ROOT('Root')
<Root>
<YourElement Attribute="someValue">
<z>
<NodeA>text</NodeA>
</z>
</YourElement>
</Root>
点击这里了解更多信息:
你的示例没有按照要求执行。
请求:
<Root attribute="someValue">
<YourElement>
<z>
<NodeA>text</NodeA>
</z>
</YourElement>
</Root>
您的答案:
<Root>
<YourElement Attribute="someValue">
<z>
<NodeA>text</NodeA>
</z>
</YourElement>
</Root>
SELECT
'someValue' AS '@Attribute',
(SELECT TOP 1
'text' as 'z/NodeA'
FROM dbo.Test
WHERE....
FOR XML PATH('YourElement')
)
FOR XML PATH('ROOT');
它应该创建一个带有属性和...列表的ROOT xml。