Uno de los parsers XML más sencillos de utilizar que nos ofrece PHP es simpleXML. Viene por defecto en la versión 5 y posteriores de PHP. SimplePHP añade una serie de métodos para acceder de forma bastente sencilla a nuestros archivos XML.
//dado el siguiente archivo XML <?xml version="1.0" encoding="utf-8"?> <items> <item id="1"> <nombre>Producto Uno</nombre> <precio>250</precio> <cantidad>2</cantidad> </item> <item id="2"> <nombre>Producto Dos</nombre> <precio>120</precio> <cantidad>1</cantidad> </item> <item id="3"> <nombre>Producto Tres</nombre> <precio>20</precio> <cantidad>5</cantidad> </item> </items> //cargamos el archivo XML $xml = simplexml_load_file("items.xml"); //mostramos todo el contenido del archivo $str = $xml->asXML(); //extraemos directamente un elemento $producto = $xml->item[0]->nombre; //obtenemos un array con todos los nodos //que dependen del principal $arr = $xml->children(); //recorremos la matriz de items buscando //a la vez los descendientes del primer item foreach ($arr->children() as $etiqueta => $valor) { echo $etiqueta . ": " . $valor; } //acceder a los atributos //mostramos el atributo id del segundo item echo $xml->item[1]["id"]; //mostramos solo los elementos con el atributo id par foreach ($arr as $item) { if ($item["id"] % 2 == 0) echo $item->nombre; }