我在 SQL Server 中遇到 XML 查询问题。我通常对@XML
变量运行查询以获取这样的数据,但在某个语句中它不起作用。
此代码正常工作
Declare @XML as XML =
'
<ResponseData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Remain>12345654321.1234</Remain>
<ErrorMsg />
</ResponseData>';
;
Select
F.value('Remain[1]','decimal(18,4)') as A,
F.value('ErrorMsg[1]','varchar(100)') as B
FROM @XML.nodes('ResponseData')Tbl(F);
但是如果我在第一行添加一个新行,@XML
则无法解析并返回以下错误
XML 解析:第 2 行,第 6 个字符,text/xmldecl 不在输入的开头
Declare @XML as XML =
'
<?xml version="1.0" encoding="utf-16"?>
<ResponseData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Remain>12345654321.1234</Remain>
<ErrorMsg />
</ResponseData>';
;
Select
F.value('Remain[1]','decimal(18,4)') as A,
F.value('ErrorMsg[1]','varchar(100)') as B
FROM @XML.nodes('ResponseData')Tbl(F);
<?xml version="1.0" encoding="utf-16"?>
添加到@XML
变量中。
谢谢