si usted utiliza este código debajo de usted entenderá lo que significo. este código solucionó mi problema.
[código]
/**
* Clase del generador de XMLToArray
* @author: MA Razzaque Rupom
,
* Asesor, phpResource (LINK1 http://groups.yahoo.com/group/phpresource/LINK1)
* URL: LINK2 http://www.rupom.infoLINK2
* @version: 1.0
* @date 06/05/2006
* Propósito: Crear arsenal jerárquico de datos de XML
* Lanzado: Bajo GLP
*
clase XmlToArray
{
var $xml= '';
/**
* Constructor del defecto
* @param $xml = datos del xml
* @return ningunos
*
función XmlToArray ($xml)
{
$this->xml = $xml;
}
/**
* _struct_to_array ($values, &$i)
*
* Esto es agrega el contenido del xml de vuelta en el arsenal para un proceso más fácil.
* Recurrente, estático
*
* @access privados
* el arsenal $values del @param esto es los datos del xml en un arsenal
* el @param internacional $i esto es la localización actual en el arsenal
* arsenal del @return
*
función _struct_to_array ($values, &$i)
{
$child = arsenal ();
si (isset ($values [$i] [“valor”])) array_push ($child, $values [$i] [“valor”]);
mientras que (interruptor <� count=""> de $i++ ($values [$i] [“tipo”]) {
caso “cdata”:
array_push ($child, $values [$i] [“valor”]);
rotura;
el caso “termina”:
$name = $values [$i] [“etiqueta”];
¡si (! vaciar ($name)){
¿$child [$name] = ($values [$i] [“valor”])? ($values [$i] [“valor”]): '';
si (isset ($values [$i] [“cualidades”])) {
$child [$name] = $values [$i] [“cualidades”];
}
}
rotura;
el caso “se abre”:
$name = $values [$i] [“etiqueta”];
¿$size = isset ($child [$name])? sizeof ($child [$name]): 0;
$child [$name] [$size] = $this->_struct_to_array ($values, $i);
rotura;
caso “cercano”:
$child de vuelta;
rotura;
}
}
$child de vuelta;
} //_struct_to_array
/**
* createArray ($data)
*
* Esto es agrega el contenido del xml de vuelta en el arsenal para un proceso más fácil.
*
* @access públicos
* la secuencia $data del @param esto es la cadena de los datos del xml
* arsenal del @return
*
función createArray ()
{
$xml = $this->xml;
$values = arsenal ();
$index = arsenal ();
$array = arsenal ();
$parser = xml_parser_create ();
xml_parser_set_option ($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parse_into_struct ($parser, $xml, $values, $index);
xml_parser_free ($parser);
$i = 0;
$name = $values [$i] [“etiqueta”];
¿$array [$name] = isset ($values [$i] [“cualidades”])? $values [$i] [“cualidades”]: '';
$array [$name] = $this->_struct_to_array ($values, $i);
$array de vuelta;
} //createArray
} //XmlToArray
¿? >
$xml_data = file_get_contents (“XMLFormatPerformanceReport.xml”);
Caso de //Creating de la clase
$xmlObj = nuevo XmlToArray ($xml_data);
Arsenal de //Creating
$arrayData = $xmlObj->createArray ();
//Displaying el arsenal
eco ““;
print_r ($arrayData);
¿? >
[/code]