xml_set_object

(PHP 4, PHP 5, PHP 7)

xml_set_objectUse XML Parser within an object

Descrição

xml_set_object ( XMLParser $parser , object $object ) : bool

This function allows to use parser inside object. All callback functions could be set with xml_set_element_handler() etc and assumed to be methods of object.

Parâmetros

parser

A reference to the XML parser to use inside the object.

object

The object where to use the XML parser.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Changelog

Versão Descrição
8.0.0 parser expects an XMLParser instance now; previously, a resource was expected.

Exemplos

Exemplo #1 xml_set_object() example

<?php
class XMLParser
{
    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 
__destruct()
    {
        
xml_parser_free($this->parser);
        unset(
$this->parser);
    }

    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 XMLParser();
$xml_parser->parse("<A ID='hallo'>PHP</A>");
?>

O exemplo acima irá imprimir:

string(1) "A"
array(1) {
  ["ID"]=>
  string(5) "hallo"
}
string(3) "PHP"
string(1) "A"