Тут могут быть проблемы с размером — xml-и бывают достаточно большие, а, например, тот же simpleXML глотает его целиком и может упереться в память. Описать/найти такие классы/функции конечно особого труда не составит (XML2Array и Array2XML есть, например,
тут, да и на SO
часто мелькали похожие вопросы), но они тоже могут столкнуться с этой проблемой.
Имхо удобнее просто использовать simpleXML, а в случае с большими файлами обходить файл
XMLReader-ом, скармливая текущий узел в simpleXML.