La función xml_parse_into_struct() analiza datos XML en una matriz.
Esta función analiza datos XML en 2 matrices:
Matriz de valores: contiene datos del XML analizado
Matriz de índice: contiene punteros a las ubicaciones de los valores en la matriz de valores.
Si tiene éxito, la función devuelve 1. Si falla, se devuelve 0.
xml_parse_into_struct(analizador,xml,valor_arr,index_arr)
parámetro | describir |
---|---|
analizador | Requerido. Especifica el analizador XML que se utilizará. |
XML | Requerido. Especifica los datos XML que se analizarán. |
valor_arr | Requerido. Especifica la matriz de destino para datos XML. |
índice_arr | Opcional. Especifica la matriz de destino de datos de índice. |
Nota: La función xml_parse_into_struct() devuelve 1 si tiene éxito y 0 si falla. Esto es diferente de VERDADERO y FALSO, así que tenga cuidado al utilizar, por ejemplo, el operador ===.
archivo XML
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Recordatorio</heading><body>Don ¡No me olvides este fin de semana!</body></note>
código PHP
<?php//archivo xml no válido$xmlfile = 'test.xml';$xmlparser = xml_parser_create();// abre un archivo y lee los datos$fp = fopen($xmlfile, 'r');$xmldata = fread( $fp, 4096);xml_parse_into_struct($xmlparser,$xmldata,$valores);xml_parser_free($xmlparser);print_r($valores);?>
La salida del código anterior se ve así:
Array([0] => Array ( [etiqueta] => NOTA [tipo] => abierto [nivel] => 1 [valor] => )[1] => Array ( [etiqueta] => TO [tipo] = > completo [nivel] => 2 [valor] => Tove )[2] => Array ( [etiqueta] => NOTA [valor] => [tipo] => cdata [nivel] => 1 ) [3] = > Matriz ([etiqueta] => FROM [tipo] => completo [nivel] => 2 [valor] => Jani )[4] => Array ( [etiqueta] => NOTA [valor] => [tipo] => cdata [nivel] = > 1 ) [5] => Matriz ( [etiqueta] => ENCABEZADO [tipo] => completo [nivel] => 2 [valor] => Recordatorio )[6] => Matriz ( [etiqueta] => NOTA [valor ] => [tipo] => cdata [nivel] => 1 ) [7] => Array ( [etiqueta] => BODY [tipo] => completo [nivel] => 2 [valor] => ¡No me olvides este fin de semana! )[ 8] => Matriz ( [etiqueta] => NOTA [valor] => [tipo] => cdata [nivel] => 1 )[9] => Matriz ( [etiqueta] => NOTA [tipo] => cerrar [ nivel] => 1 ))