Мне нужно сгенерировать xml для загрузки на интернет-сайте из моей базы данных SQL2005. Все работает нормально, но когда файл загружен на веб-сервис, который нуждается в этом, у меня есть эта ошибка:
'.', Шестнадцатеричное значение 0x00, является недопустимым символом. Линия 1, позиция
41.
XML-код работает нормально, но я думаю, что проблема в файле.
Xml генерируется с этим запросом
set @cmd = 'bcp "SELECT XML FROM ' + @DBNAME + '.dbo.FATTELETTR WHERE PROGRESSIVO LIKE ' + @PROGRESSIVO + ' " queryout ' + @Filename + ' -U user -P pass -w -r -t -x';
--print @cmd
EXEC XP_CMDSHELL @cmd, no_output;
Это пример файла:
<?xml version="1.0" encoding="UTF-8" ?> <p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd">
<FatturaElettronicaHeader>
................ content............
</FatturaElettronicaHeader>
<FatturaElettronicaBody>
................ content............
</FatturaElettronicaBody></p:FatturaElettronica>
Если я возьму непосредственно сгенерированный файл, у меня будет ошибка, INSTEAD, если я возьму XML-содержимое, создаю новый XML-файл и вставляю скопированное содержимое в один созданный вручную, все работает нормально, и у меня нет ошибка.
Кроме того, если я попытаюсь открыть в Internet Explorer файлы xml, созданный файл sql будет пустым, я вижу пустую страницу, а созданная вручную загружается нормально.
Итак, проблема в файле. А что есть?