Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2011, 20:23   #1
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
Стрелка Ошибка при загрузке XML файла

Ошибка при загрузке XML файла. Что не так? Неужели русские буквы на это влияют? Word тоже не хочет открывать.


Вложения
Тип файла: rar HZxml.rar (475.7 Кб, 14 просмотров)
Alter вне форума Ответить с цитированием
Старый 24.09.2011, 20:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В вашем xml как минимум заголовка нет

add

в начало строчку вставьте

<?xml version="1.0" encoding="windows-1251"?>
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.09.2011 в 23:53.
Аватар вне форума Ответить с цитированием
Старый 25.09.2011, 01:27   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

Без принудительного добавления <?xml version="1.0" encoding="windows-1251"?>, в начало файла, никак не обойти?
Странно, что с этим файлом капризничает. Файл от сторонней программы.
В своем же файле, без заголовка прекрасно читает и пишет.
Alter вне форума Ответить с цитированием
Старый 25.09.2011, 10:48   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Обойтись можно, но обрабатывая своими средствами. XMLDocument не кушает пока этой строчки нет. Заголовок вставил и браузер скушал и XMLDocument, до этого не в какую
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.09.2011, 13:58   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

Спасибо. Сделал таким костылем:
Код:
function PrepLoadXML(Path :string):string;
var
  Lst :TStrings;
begin
 Result := '';
 if FileExists(Path) then
 begin
   Lst := TStringList.Create;
    try
   Lst.LoadFromFile(Path);
   if Lst.Count > 0 then
    Lst.Insert(0, '<?xml version="1.0" encoding="windows-1251"?>');
   Result := Lst.Text;
    finally
   FreeAndNil(Lst);
    end;
 end;
end;

// ...

procedure TForm1.Button1Click(Sender: TObject);
var
  BufXML :string;
begin
 Button1.Enabled := False;
 if XMLDocument1.Active then
   try
// XMLDocument1.Version := '1.0';
// XMLDocument1.Encoding := 'windows-1251';
 BufXML := PrepLoadXML(FullFPath);
 if BufXML <> '' then
  XMLDocument1.LoadFromXML(BufXML);
   finally
 CheckBox1.Checked := XMLDocument1.Active;
 Button1.Enabled := True;
   end;
end;
Но если сделать кодировку файла UTF-8, то отсутствие заголовка не влияет на работу. И MSXML все прекрасно обрабатывает.
Программа-тест выводящая некоторую информацию, для проверки работы.
Вложения
Тип файла: rar HZxml2.rar (544.8 Кб, 10 просмотров)

Последний раз редактировалось Alter; 25.09.2011 в 14:00.
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при загрузке файла через броузер _PROGRAMM_ PHP 6 24.01.2011 08:52
Проблема при загрузке файла XML в TreeView artemavd Общие вопросы Delphi 1 20.06.2010 15:39
Ошибка компонента TADOQuery при загрузке запроса из файла в Delphi 2006 WhiteKoS Помощь студентам 2 16.02.2008 15:07
Обработка XML строки при загрузке dbf в Delphi SereJa1020 БД в Delphi 1 18.12.2007 18:28
Ошибка при загрузке файла html Ign Microsoft Office Excel 1 11.11.2007 13:55