Сразу же вы должны понимать, что DOM может потребовать значительных объемов памяти в зависимости от того, насколько велик ваш XML документ и сколько документов будет открыть одновременно. SAX обрабатывает документ последовательно, и при этом нет необходимости считывать весь документ в память. Однако преимущество DOM состоит в том, что у вас есть полностью загруженное дерево в памяти, и вы имеете возможность произвольного доступа ко всему документу. Таким образом, DOM и SAX как Инь и Янь, каждая сильная сторона являются слабостью - каждая слабая сторона является силой.
SAX чаще всего рассматривается с точки зрения синтаксического анализа документа любого размера. Вы можете также построить свою собственную структуру данных, если дерево не подходит для ваших нужд. Другое преимущество SAX состоит в его выгоде, когда вам нужен только небольшой фрагмент данных из документа.
Сила DOM заключена в структуре. При использовании DOM возможен более сложный поиск. Один из наиболее важных аспектов DOM состоит в возможности сериализации данных для реконструкции их в другой программе.
← | DOM | Сериализация XML | → |