No PHP existem algumas bibliotecas que você pode utilizar para manipular o XML: http://php.net/manual/en/refs.xml.php   As mais utilizadas são DOM, SimpleXML e XMLParser. Sendo a SimpleXML mais limitada e as outras com mais recursos (XMLParser gerencia melhor a memória, mas não quer dizer que irá utilizar menos memória).   Cada um com seus prós e contras, você deve escolher a que mais lhe você agradar.   Por exemplo, se for utilizar DOM, você pode carregar o arquivo através do método DOMDocument::loadXML(). Uma vez carregado, você receberá um objeto do tipo DOMDocument, que, por sua vez, é uma especialização do objeto DOMNode.   DOMNode possui o atributo DOMNode::childNodes, que contém todos os nodes abaixo dele: foreach ($domDocument->childNodes as $childNode) { //Iteração sobre a lista de filhos } Cada node também possui o atributo DOMNode::attributes, que pode ser usado para iterar sobre os atributos do nó. Cada atributo é um objeto do tipo DOMAttr foreach($childNode->attributes as $attr) { print $attr->name.' = '.$attr->value; } E o valor interno de um node pode ser recuperado através do atributo DOMNode::nodeValue.   Nas outras bibliotecas, a teoria é praticamente a mesma, apenas mudará o nome dos atributos/funções/objetos.