Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.103 c
15-1337956188
Pit
2012-05-25 18:29
2013.03.22
Кайт Томас, Oracle


15-1349418099
Artem
2012-10-05 10:21
2013.03.22
OpenOffice и окна каскадом


3-1285063680
yurikon
2010-09-21 14:08
2013.03.22
TADOQuery и TADODataSet


15-1340051402
Юрий
2012-06-19 00:30
2013.03.22
С днем рождения ! 19 июня 2012 вторник


2-1332423903
Cobalt
2012-03-22 17:45
2013.03.22
AnsiString[128] - "; Expected ; but received [ at line"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский