SQL Server XML DML Необъявленный префикс
Я не могу понять, почему я получаю ошибку "Синтаксический анализ 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 в начале предложения? Любая помощь будет оценена. Благодарю.
2 ответа
Решение
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;
В интересах здравомыслия, даже если это не имеет непосредственного отношения к вашему коду, и потому что это популярный пост с гуглом для "необъявленного префикса", также ищите xsi:nil="true"
в вашем xml