A função xml_parse() analisa documentos XML.
Se for bem-sucedido, a função retornará TRUE. Se falhar, retorna FALSE.
xml_parse(analisador,xml,fim)
parâmetro | descrever |
---|---|
analisador | Obrigatório. Especifica o analisador XML a ser usado. |
xml | Obrigatório. Especifica os dados XML a serem analisados. |
fim | Opcional. Se este parâmetro for TRUE, os dados no parâmetro "xml" serão os últimos dados na análise atual. Nota: Os erros de entidade são relatados no final da análise e somente quando o parâmetro "end" é TRUE. |
Dica: Para criar um analisador XML, use a função xml_parser_create().
Arquivo XML
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>Lembrete</heading><body>Don não se esqueça de mim neste fim de semana!</body></note>
Código PHP
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r") ;while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) ou morrer (sprintf("Erro XML: %s na linha %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
A saída do código acima é semelhante a esta:
Lembrete de Tove Jani Não se esqueça de mim neste fim de semana!
Usando o mesmo arquivo XML, mas exibindo os dados XML de maneiras diferentes:
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTA": echo "-- Nota --<br />"; "TO": echo "Para: "; break "FROM": echo "From: "; break "HEADING": echo "Título:"; echo "Mensagem: "; } }function stop($parser,$element_name) { echo "<br />"; function char($parser,$data) { echo $data; ,"stop");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml","r");enquanto ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) ou die (sprintf("Erro XML: %s na linha %d", xml_error_string(xml_get_error_code($parser )), xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
A saída do código acima é semelhante a esta:
-- Nota --Para: ToveFrom: JaniHeading: ReminderMessage: Não se esqueça de mim neste fim de semana!