Часть 1. Работа с XML в Java. Описание

В Java JDK встроены 2 вида XML парсеров, которые доступны как DOM(Document Object Model) и SAX(Simple API for XML). У обеих у них как свои преимущества, так и недостатки. В данном посте приведены примеры работы с файлами XML: будет создан, изменен и прочтен файл XML с помощью DOM и SAX.

DOM XML парсер

DOM парсер — это самый легкий инструмент для работы с XML структурой в Java. При использовании данного подхода все содержимое файла XML загружается в память компьютера, моделируя объект, чтобы можно было легко производить операции со структурой файла, но, данная легкость расплачивается  прожорливостью памяти и ресурсов процессора, поэтому, данный способ эффективен, если производиться операция с файлом небольшого размера.

SAX XML парсер

SAX парсер, в отличии от DOM, не загружает структуру документа в память, а использует для манипуляции функцию обратного вызова (org.xml.sax.helpers.DefaultHandler), с помощью которого он держит связь между пользователем и файлом. Помимо этого, SAX парсер имеет возможность в любой момент обратиться к любой части XML документа и манипулировать локальным содержимым, по этой причине SAX быстрее и менее расточительнее, чем DOM парсинг.

Что выбрать?

Требования к программе могут быть разные, поэтому, сразу ответить что лучше нельзя, все исходит из потребностей, но ничто не мешает использовать и SAX и DOM парсер  одновременно в одном и том же проекте.