2

我不明白为什么在这个简单的代码行中出现错误“XML 解析:第 2 行,字符 45,未声明的前缀”:

DECLARE @ECAS XML;
SET @ECAS = 'declare namespace xs="http://www.w3.org/2001/XMLSchema";
             <xs:element name="ecasData">
               <xs:complexType>
                 <xs:all minOccurs="1" maxOccurs="1"/>
               </xs:complexType>
             </xs:element>';

SELECT @ECAS;

不是在句首声明了命名空间 xs 吗?任何帮助将不胜感激。谢谢。

4

2 回答 2

3
DECLARE @ECAS XML;

SET @ECAS = '<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ecasData" >
               <xs:complexType>
                 <xs:all minOccurs="1" maxOccurs="1"/>
               </xs:complexType>
             </xs:element>';
SELECT @ECAS;
于 2013-08-27T09:41:16.883 回答
2

为了理智起见,即使它与您的代码没有直接关系,并且因为这是“未声明的前缀”的热门谷歌帖子,也请xsi:nil="true"在您的 xml 中查找

于 2015-09-21T07:03:31.443 回答