A função xml_set_character_data_handler() estabelece um manipulador de dados de caracteres para o analisador XML.
Esta função especifica a função a ser chamada quando o analisador encontra dados de caracteres no arquivo XML.
Se for bem-sucedido, a função retornará TRUE. Se falhar, retorna FALSE.
xml_set_character_data_handler(analisador,manipulador)
parâmetro | descrever |
---|---|
analisador | Obrigatório. Especifica o analisador XML a ser usado. |
manipulador | Obrigatório. Especifica uma função a ser usada como manipulador de eventos. |
A função especificada pelo parâmetro "handler" deve ter dois parâmetros:
parâmetro | descrever |
---|---|
analisador | Obrigatório. Especifica uma variável que contém o analisador XML que chama o processador. |
dados | Obrigatório. Especifica uma variável que contém dados de caracteres na forma de uma sequência em um arquivo XML. |
Nota: O parâmetro handler também pode ser uma matriz contendo referências de objetos e nomes de métodos.
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!