Комментарии 7
Паскаль жив. Но не на Хабре :)
Приглашаю отписаться в комментариях, кто ещё до сих пор программирует на Delphi или Free Pascal. Буду первым в этом списке :)
SAX хорош для больших XML и в тех случаях когда вам нужно только прочитать документ и извлечь из него какие-то данные (причем, вам может интересовать далеко не все что есть в документе).
DOM хорош для небольших документов, особенно в ситуациях когда вам надо прочитать, внести изменения и сохранить обратно.
И тут как всегда - сначала вникаем в задачу, а потом подбираем под нее оптимальный инструмент. А не всегда используем только то, что когда-то уже использовали просто потому что оно знакомое.
При работе с SAX еще надо "в голове" держать контекст. Вот пример
<Субъект>
<ИдСубъекта>3569309339</ИдСубъекта>
<УНС>IRi.003</УНС>
<ТипСубъекта>
<Идентификатор>2</Идентификатор>
<Наименование>Физическое лицо</Наименование>
</ТипСубъекта>
...и в том же XML
<Документ>
<ТипДокумента>
<Идентификатор>746140005</Идентификатор>
<Наименование>PASSPORT</Наименование>
</ТипДокумента>
<Номер>6620505</Номер>
<ОрганВыдачи>Iran (Islamic Republic of)</ОрганВыдачи>
</Документ>
...Тут мы видим что теги <Идентификатор> и <Наименование> могут быть как внутри тега <ТипСубъекта>, так и внутри тега <ТипДокумента>
В такой ситуации вам необходимо Устанавливать внутри какого внешнего тега вы находитесь чтобы правильно обработать тег внутренний. И это тоже ложится на вас.
До сих пор развиваю/поддерживаю свой же проект по автоматизации учета товаров. Для использования внутри фирмы. Уже лет 25.
FoxPro 2.5 -> Delphi 1 -> Delphi2 -> Delphi5 -> Delphi7 (и по сей день).
Новый софт для линукса начинаю писАть на Lazarus.

SAX-парсинг больших XML в Free Pascal: разбираем OpenCorpora без переполнения памяти