Função xml_set_element_handler() do PHP
Definição e uso
A função xml_set_element_handler() estabelece os manipuladores de início e fim de elemento.
Se o processador for criado com sucesso, a função retornará true; caso contrário, retornará false.
Sintaxe
xml_set_element_handler(parser,start,end)
Parâmetros | Descrição |
---|---|
parser | Obrigatório. Define o XML parser a ser usado. |
start | Obrigatório. Define a função chamada ao início do elemento. |
end | Obrigatório. Define a função chamada ao final do elemento. |
por start O parâmetro definido deve ter três parâmetros:
Parâmetros | Descrição |
---|---|
parser | Obrigatório. Define uma variável que contém o XML parser do processador. |
name | Obrigatório. Define uma variável que contém o nome do elemento, que aciona a função. |
data | Obrigatório. Define um array que contém as propriedades do elemento. |
por end O parâmetro definido deve ter três parâmetros:
Parâmetros | Descrição |
---|---|
parser | Obrigatório. Define uma variável que contém o XML parser do processador. |
name | Obrigatório. Define uma variável que contém o nome do elemento, que aciona a função. |
Descrição
start e end Os parâmetros também podem ser um array que contém referências a objetos e nomes de métodos.
Exemplo
<?php $parser=xml_parser_create(); function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "-- Nota --<br />"; break; case "TO": echo "To: "; break; case "FROM": echo "De: "; break; case "HEADING": echo "Título: "; break; case "BODY": echo "Mensagem: "; } } function stop($parser,$element_name) { echo "<br />"; } function char($parser,$data) { echo $data; } xml_set_element_handler($parser,"start","stop"); xml_set_character_data_handler($parser,"char"); $fp=fopen("test.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or 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); ?>
Saída:
-- Nota -- Para: George De: John Título: Lembrete Mensagem: Não se esqueça da reunião!