簡體   English   中英

錯誤:XML 聲明必須是文檔中的第一個節點,並且它之前不允許出現空白字符

[英]Error: XML declaration must be the first node in the document, and no white space characters are allowed to appear before it

功能就像,我們可以在 XML 中編寫平面 SQL 查詢,然后我們可以在 Product 中導入 xml 以查看數據庫的變化。

在更新語句中,我需要使用下面的更新查詢。 但是在嘗試設置列值時出現“ XML 聲明必須是文檔中的第一個節點”錯誤。

<?xml version="1.0" encoding="utf-8"?>
<Metadata ClientSchemaVersion="1.1" Name="DummyName">
    <Differences>
      <Updates>
      ---
      --- 
Begin 
Update TABLE_NAME
Set //In next line, error is comming
ColumnName='<?xml version=''1.0'' encoding=''utf-16le'' ?><scenario xmlns='Text'><id>12345</id><title>
--
--
--
WHERE Condition

    END
    </Differences>
 </Metadata>

我如何實現該用例。 有人可以幫我嗎。

注意 - 如果直接在SQL服務器中運行,相同的更新查詢工作正常

XML 文檔中不允許有兩個 XML 聲明( <?xml... ?> )。 只允許使用一個,並且它必須位於文檔的最頂部。

這里有兩種方法可以修復您的 XML:

  1. 刪除第二個 XML 聲明。 嵌入 SQL 的 XML 的默認值將是 XML 版本 1.0,使用 UTF-8 編碼。

  2. 如果處理應用程序支持它,請將 SQL 包裝在 CDATA 部分中,以便 SQL 嵌入的 XML 文檔不再被解析為 XML。

     <.[CDATA[... SQL with embedded XML that can contain its own XML declaration... ]]>

也可以看看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM