Теоретически, по крайней мере, XMLParser
(реализация SAX ) может быть более эффективной (по скорости, но особенно по памяти), чем SimpleXML
(реализация DOM ), особенно при работе с большими документами (реализации DOM загружают все дерево XML в память, что может обременять ресурсы, в то время как реализации SAX позволяют программисту просто обходить XML без необходимости что-либо хранить в памяти, оставляя полностью на ваше усмотрение то, что, если что угодно, вы хотите сохранить в памяти) - см. тесты , сравнивающие различные DOM с различными реализациями SAX-парсеров.
Я говорю может , потому что выполнение SAX-обхода является программно более сложным , чем обход или запрос DOM, и плохое использование SAX (или использование SAX в ситуациях, когда DOM в любом случае лучше подходит, например, если в конце обхода SAX вы загрузили себя практически всего дерева в памяти), это может на самом деле привести к худшей производительности, чем использование DOM API .