Buenas,
Hasta ahora para procesar grandes ficheros XML primero los traducia a un array y luego los iteraba.
Para pasar un fichero XML a un array utilizo la siguiente clase
Código PHP:
Ver original<?php
class xml {
var $resultado;
var $informacion;
function xml($contenido) {
$this->informacion = xml_parse($this->resultado,$contenido);
return $this->matriz;
}
function abrir($parser, $nombre, $atributos) {
$etiqueta = array("nombre"=>$nombre,"atributos"=>$atributos); }
function info($parser, $etiqueta_info) {
if(trim($etiqueta_info)) { if(isset($this->matriz[count($this->matriz)-1]['info'])) { $this->matriz[count($this->matriz)-1]['info'] .= $etiqueta_info; }
else {
$this->matriz[count($this->matriz)-1]['info'] = $etiqueta_info; }
}
}
function cerrar($parser, $nombre) {
$this->matriz[count($this->matriz)-2]['hijo'][] = $this->matriz[count($this->matriz)-1]; }
}
?>
Y la llamada es así
Código PHP:
Ver original$xml = new xml($xml_contenido);
$arreglo = ($xml->matriz);
Luego voy iterando con bucles anidados buscando la información que quiero.
Me pregunto si alguien que haya tenido experiencia con este método se ha dado cuenta si es más rápido o no que utilizar alguna clase como SimpleXML o similares.
Vuestra recomendación?
Muchas gracias de antemano!