Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.509 c
15-1338725627
картман
2012-06-03 16:13
2013.03.22
cuda


15-1339705802
Юрий
2012-06-15 00:30
2013.03.22
С днем рождения ! 15 июня 2012 пятница


2-1334645281
Handle
2012-04-17 10:48
2013.03.22
В каком событии рассчитывать координаты отрисовки


15-1352808457
AV
2012-11-13 16:07
2013.03.22
Number Oracle и числа в "православной". Не хватает Cardinal`a


2-1335294638
Jonis_84
2012-04-24 23:10
2013.03.22
После запуска вылетает