繁体   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