XML: приклад, функції та можливості, плюси і мінуси формату

Створення масштабованого DOM

На відміну від DOM, SAX заснований на подіях, тому він не створює уявлення дерева вхідних документів в пам’яті. SAX обробляє елемент вхідного документа за елементами і може повідомляти про події і важливих даних методи зворотного виклику в додатку.

В Java XDK існує три способи створення DOM:

  • Розбір документа за допомогою DOMParser. Це був традиційний підхід XDK.
  • Створення масштабованого DOM, використовуючи фабричний метод XMLDOMImplementation.
  • Використання конструктора XMLDocument. Це не поширене рішення в XDK.
  • Документ аналізується як послідовність лінійних подій.

    В цілому, SAX API надає наступні переваги:

  • Метод корисний для операцій пошуку і інших програм, яким не потрібно маніпулювати деревом XML.
  • Він не споживає значних ресурсів пам’яті.
  • Працює швидше, ніж DOM при отриманні XML-документів з бази даних.
  • JAXP API дозволяє підключити реалізацію програми SAX або DOM.
  • API-інтерфейси SAX і DOM, що надаються в Oracle XDK, є прикладами специфічних реалізацій, підтримуваних JAXP.
  • Загалом, перевага JAXP полягає в тому, що користувач може використовувати його для написання сумісних додатків. Якщо програма використовує функції, доступні через JAXP, воно може дуже легко переключити реалізацію.

    Основним недоліком JAXP є те, що він працює повільніше, ніж API-інтерфейси конкретного виробника.