SimpleXML nasce dall'esigenza di creare una libreria che semplifichi i processi di costruzione delle interfacce averso XML, si legga per esempio questo interessante articolo in cui una stessa azione di parsing viene realizzata tramite DOM con ben 47 righe di codice e con appena 10 righe sfruttando SimpleXML.
Al momento però SimpleXML non supporta ancora pienamente alcune fondamentali operazioni del parsing, come per esempio la gestione dei namespaces, quindi non può ancora essere utilizzata per sostituire del tutto DOM o SAX.
Fortunatamente, gli sviluppatori di PHP 5 hanno visto bene di ovviare a questo problema introducendo il concetto di interoperabilità tra librerie, per cui sarà possibile, per esempio, utilizzare in modo combinato le potenzialità di DOM e SimpleXML; vediamo di seguito un breve esempio:
<?php $xml_dom = new domDocument; $xml_dom->loadXML('<a><b><c>String</c></b></a>'); if (!$xml_dom) { echo 'Impossibile eseguire il parsing'; exit; } $imp = simplexml_import_dom($xml_dom); echo $imp->b[0]->c; ?>L'esempio ci mostra in pratica come sia possibile importare e modificare un elemento DOM in elemento SimpleXML.