La función xml_parse() analiza documentos XML.
Si tiene éxito, la función devuelve VERDADERO. Si falla, devuelve FALSO.
xml_parse(analizador,xml,fin)
parámetro | describir |
---|---|
analizador | Requerido. Especifica el analizador XML que se utilizará. |
XML | Requerido. Especifica los datos XML que se analizarán. |
fin | Opcional. Si este parámetro es VERDADERO, los datos del parámetro "xml" son el último dato del análisis actual. Nota: Los errores de entidad se informan al final del análisis y solo cuando el parámetro "fin" es VERDADERO. |
Consejo: Para crear un analizador XML, utilice la función xml_parser_create().
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$parser=xml_parser_create();función char($parser,$datos) { echo $datos; }xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r") ;mientras ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) o die (sprintf("Error XML: %s en la línea %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
La salida del código anterior se ve así:
Tove Jani Recordatorio ¡No me olvides este fin de semana!
Usando el mismo archivo XML pero mostrando los datos XML de diferentes maneras:
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTA": echo "-- Nota --<br />"; "PARA": eco "Para: "; romper; caso "DE": eco "De: "; romper caso "TÍTULO": eco "Título:"; echo "Mensaje: "; } }función parada($parser,$element_name) { echo "<br />"; función char($parser,$datos) { echo $datos;xml_set_element_handler($parser,"inicio" ,"detener");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r");mientras ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) o die (sprintf("Error XML: %s en la línea %d", xml_error_string(xml_get_error_code($parser )), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
La salida del código anterior se ve así:
-- Nota --Para: ToveDe: JaniEncabezado: Mensaje recordatorio: ¡No me olvides este fin de semana!