У меня есть строка XML, которая имеет неправильный формат.
DECLARE @xmlt TABLE(xstr nvarchar(max), xml xml)
INSERT INTO @xmlt(xstr) VALUES (
' <?xml version="1.0" encoding="windows-1257" ?>
- <objects><object id="778913">a</object>
- <object id="785491">b</object>
- <object ...goes on...
- </objects>
'
Чтобы иметь возможность использовать этот XML, я конвертирую его в XML.
UPDATE @xmlt SET xml = CAST(REPLACE(LTRIM(xstr), ' - <', '<') AS xml);
Но получаю ошибку XML parsing: line 1, character 46, unable to switch the encoding.
Есть ли другой способ (без замены строки encoding="windows-1257"
на ""
) преобразовать эту строку XML в xml в SQL Server?