Является ли XMLReader парсером SAX, парсером DOM или ни тем, ни другим?

Я тестирую различные методы чтения (возможно, больших, с очень частым чтением) файлов конфигурации XML в PHP. Не нужно писать. У меня есть две успешные реализации, одна с использованиемSimpleXML (который я знаю, это анализатор DOM) и один с использованиемXMLReader.

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

XMLReader также читает из потока с курсором, предоставляя данные об узле, в котором он находится в данный момент. Итак, это определенно звучит как XMLReader (http://us2.php.net/xmlreader) являетсяне парсер DOM, но мой вопрос, это парсер SAX или что-то еще? Кажется, что XMLReader ведет себя так же, как SAX-парсер, но не генерирует сами события (другими словами, вы можете создать SAX-парсер с XMLReader?)

Если это что-то еще, имеет ли название классификация?

Ответы на вопрос(4)

Ваш ответ на вопрос