История изменений
Исправление pathfinder, (текущая версия) :
Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.
Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял при этом небольшое количество памяти.
Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.
Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве случаев удобство работы с DOM-подобным парсером важнее его недостатков .
Исправление pathfinder, :
Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.
Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял при этом небольшое количество памяти.
Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.
Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве случаев удобство работы с DOM-подобным парсером важнее его недостатков .
Исправление pathfinder, :
Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.
Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял небольшое количество памяти.
Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.
Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве случаев удобство работы с DOM-подобным парсером важнее его недостатков .
Исходная версия pathfinder, :
Имеете в виду механизм коллбеков SAX'a? Как-то не хочется такого.
Значит, тебе коллбеки не нужны вообще. Делай некое подобие DOM-парсера который выделяет в оперативной памяти место под разбираемую структуру. SAX-подобный парсер с коллбеками нужен лишь тогда, когда надо разбирать файлы огромного размера так, чтобы он быстро работал и потреблял небольшое количество памяти.
Добавлять или не добавлять к парсеру опции для включения/не включения определенных элементов в выходную структуру, это твое дело.
Единственное, что надо помнить, что выходная структура DOM-парсера и рабочая структура, которая в итоге будет содержать распарсенную информацию, это не одно и тоже. Первая должна должна оперировать понятиями формата, вторая должна оперировать понятиями, заложенными в прикладную логику программы. Видно, что будет оверхед на преобразовании «структура парсера -> рабочая структура». Но в большинстве удобства работы с DOM-подобным парсером важнее его недостатков .