xml_set_object
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_object — Use o analisador XML dentro de um objeto
Descrição
Esta função permite usar parser
dentro
de object
. Todas as funções de retorno de chamada podem ser definidas com
xml_set_element_handler() etc e assumidas como
métodos de object
.
Parâmetros
parser
-
Uma referência ao analisador XML a ser usado dentro do objeto.
object
-
O objeto onde usar o analisador XML.
Valor Retornado
Sempre retorna true
.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro parser agora espera uma instância de XMLParser;
anteriormente, um resource xml válido era esperado.
|
Exemplos
Example #1 Exemplo de xml_set_object()
<?php
class CustomXMLParser
{
private $parser;
function __construct()
{
$this->parser = xml_parser_create();
xml_set_object($this->parser, $this);
xml_set_element_handler($this->parser, "tag_open", "tag_close");
xml_set_character_data_handler($this->parser, "cdata");
}
function parse($data)
{
xml_parse($this->parser, $data);
}
function tag_open($parser, $tag, $attributes)
{
var_dump($tag, $attributes);
}
function cdata($parser, $cdata)
{
var_dump($cdata);
}
function tag_close($parser, $tag)
{
var_dump($tag);
}
}
$xml_parser = new CustomXMLParser();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>
O exemplo acima produzirá:
string(1) "A" array(1) { ["ID"]=> string(5) "hallo" } string(3) "PHP" string(1) "A"