• 0
dim

Парсинг XML файла

Вопросы

подскажите чем можно парсить xml?

пробовал XMLDocument

  XMLDocument1.LoadFromXML(strXml);
  XMLDocument1.Active := True;
но он при загрузке файла выдает ошибку

"Ошибка в элементе верхнего уровня документа

Line:1"

этот файл мне приходит от поставщика и при открытии другими программами не ругается на структуру

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 ответов на этот вопрос

  • 0
В 31 марта 2018 г. в 18:44, kami сказал:

И - да, я знаю что говорю. В боевом проекте на мобильной платформе стандартный XMLDocument использую (емнип) с 2016 года, начиная с XE7 и по 10.2 включительно. Ни разу не было проблем, связанных с ним.

Если использовать структурированный xml, то да, проблем не будет. Но если на каждом уровне вложений вообще не знаешь что там есть, но надо пробежаться по всем нодам, и собрать определённую информацию, то начинается просто АД.

У меня парсер, позаимствованный и чуть допиленный у Light Alloy - вот это вещь. Всё быстро, чётко, не единого эксепшена, поиск через SameText, и прочие вкусняшки. На вкус и цвет фломастеры разные. 
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
11 часов назад, Akad сказал:

У меня парсер, позаимствованный и чуть допиленный у Light Alloy - вот это вещь. Всё быстро, чётко, не единого эксепшена, поиск через SameText, и прочие вкусняшки. На вкус и цвет фломастеры разные. 
 

Ну так, если не жалко, поделись с сообществом! Будем признательны! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
13 часов назад, krapotkin сказал:

ну, откройте же хоть какой-то проект, а потом посмотрите сюда же. пункт XML появится...

Воу, мажик. image.png.3d50c3c9173c40ac10ba530ef0d1ff5b.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
12 часов назад, wamaco сказал:

Ну так, если не жалко, поделись с сообществом! Будем признательны

Сохранил все (с). Не соберётся с ходу, так как тянет LACore.Log. Можно убрать полностью или заменить на своё.
 

LACore.XML.pas.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От x11
      Подскажите кросс-платформенные компоненты/библиотеки для Delphi Berlin+.
      Кроме OXML, она встроена в Delphi, но справки нет.
    • От Rusland
      Пытаюсь скачать XML с курсами валют с cbr.ru. Получаю ошибку Project raised exception class EEncodingError with message 'No mapping for the Unicode character exists in the target multi-byte code page'. Как исправить?
      //aUrl = http://www.cbr.ru/scripts/XML_daily.asp function GetXML(aURL: string): String; var Http: THTTPClient; Ss: TStringStream; begin Result:=''; Http:=THTTPClient.Create; try Ss:=TStringStream.Create('', TEncoding.UTF8); Http.Get(aURL,ss); Result:=Ss.DataString; // тут ошибка except end; Http.Free; end;
    • От Brovin Yaroslav
      OXML - это новая библиотека по работе с XML для Delphi и Lazarus, разработанная в конце 2013 года.
      Целью OXML является быть универсальной и быстрейшей XML библиотекой для языка Паскаль.
      Основные особенности OXML являются:
      Парсер SAX Реализация DOM  Прямое чтение /запись XML файлов  Полная совместимость при работе с TXMLDocument (XmlIntf.TXMLDocument)  
      Автор: Software Solution Ondřej Pokorný
      Тип лицензии: Open Source
      Ссылка: http://www.kluug.net/oxml.php
      Скачать: SourceForge
       
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу