我希望@MyActualXMLOut看起来像@MyDesiredXMLOut ...怎么样?提前致谢!从Sql Server语句的默认输出中删除根XML节点
@MyDesiredXMLOut =
<MyRequiredRoot>
<Property1>Value1</Property1>
<Property2>Value2</Property2>
</MyRequiredRoot>
@MyActualXMLOut
<_x0040_MyTableVar>
<MyXML>
<MyRequiredRoot>
<Property1>Value1</Property1>
<Property2>Value2</Property2>
</MyRequiredRoot>
</MyXML>
</_x0040_MyTableVar>
下面的代码可以运行的是...
DECLARE @MyDesiredXMLOut XML;
DECLARE @MyActualXMLOut XML;
SELECT @MyDesiredXMLOut =
CONVERT(XML,
'<MyRequiredRoot><Property1>Value1</Property1>
<Property2>Value2</Property2>
</MyRequiredRoot>');
DECLARE @MyTableVar table(ID int NOT NULL, MyXML XML NOT NULL);
INSERT INTO @MyTableVar VALUES(1, @MyDesiredXMLOut)
SELECT @MyActualXMLOut =
(SELECT MyXML
FROM @MyTableVar
WHERE ID = 1
FOR XML AUTO)
SELECT @MyDesiredXMLOut;
SELECT @MyActualXMLOut;
**谢谢!这就是它!** – HDW
这可以用作替代我发布的解决方案,只需使用'.query()'而不是'as'*'' –
Jamie,@DanField,您正在告诉一个值,它已经是XML被输出为XML,然后使用query()来获得它的XML ......为什么? – Shnugo