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
ます。
ありがとう