我无法理解为什么在这个简单的代码行中出现错误“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?任何帮助将不胜感激。 感谢。
答案 0 :(得分: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;
答案 1 :(得分:1)
为了理智,即使它与您的代码没有直接关系,并且因为这是“未声明的前缀”的顶级Google帖子,也请在xml中查找xsi:nil="true"