Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизxml, loadxml Найти похожие ветки
← →
FS (2012-06-07 12:27) [0]Есть 5 xml-файлов в разных кодировках:
<A>
"Тест"
<C>"Test"</C>
<D>"123"</D>
</A>
Успешно загружаются только содержимое файлов в ANSI и UTF8WithoutBOM. При загрузке содержимого файла в кодировке UTF-8 и ост. выкидывает ошибку - ошибка в элементе верхнего уровня документа. Как загружать содержимое файла в различных кодировка?
procedure TForm1.Button1Click(Sender: TObject);
var
Doc: IXMLDOMDocument;
SL: TStrings;
begin
SL := TStringList.Create;
//SL.LoadFromFile("D:\ANSI.xml");
//SL.LoadFromFile("D:\UTF8WithoutBOM.xml");
SL.LoadFromFile("D:\UTF8.xml");
//SL.LoadFromFile("D:\UCS-2BE.xml");
//SL.LoadFromFile("D:\UCS-2LE.xml");
Doc := CoDOMDocument.Create;
Assert(Doc.loadXML(SL.Text), DOC.parseError.reason);
SL.Free;
end;
← →
FS (2012-06-07 12:28) [1]поправлю
<A>
"Тест"
<C>"Test"</C>
<D>"123"</D>
</A>
← →
FS (2012-06-07 12:29) [2]<A>
<E>"Тест"</E>
<C>"Test"</C>
<D>"123"</D>
</A>
← →
Омлет © (2012-06-07 13:05) [3]SL.Text - это разве WideString?
← →
Омлет © (2012-06-07 13:08) [4]Точнее так: StringList не умеет корректно загружать юникод-файлы.
← →
Омлет © (2012-06-07 13:09) [5]
> StringList
*TStrings
← →
FS (2012-06-07 15:20) [6]Суть проблемы - GET-запрос к серверу возвращает XML, которая сохраняется в переменную типа string. Дальше эта переменная передается в качестве парамера в метод loadXML (IXMLDOMDocument). loadXML завершается с ошибкой (возвращает False). Такое происходит очень редко. В чем может быть проблема?
← →
Омлет © (2012-06-07 15:43) [7]
> В чем может быть проблема?
Зависит от ошибки.
← →
Cobalt © (2012-06-07 15:45) [8]пиши лог с содержимым строки (только в Юникод-поддерживающий лог, типа OutputDebugStringW)
И уже этот лог имеет смысл рассматривать
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.071 c