(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_object — Configura un objeto como analizador XML
Esta función ha sido declarada OBSOLETA a partir de PHP 8.4.0. Su uso está totalmente desaconsejado.
Permite que el analizador parser
sea utilizable desde un objeto. Todos los métodos de retrollamada,
asignados por xml_set_element_handler(),
serán los métodos de este objeto.
parser
Una referencia de analizador XML para usar en el objeto.
object
El objeto en el que se debe usar el analizador XML.
Siempre devuelve true
.
Versión | Descripción |
---|---|
8.4.0 | Esta función está ahora deprecada, pase en su lugar valores callable apropiados a xml_set_() |
8.0.0 |
parser expects an XMLParser
instance now; previously, a valid xml resource was expected.
|
Ejemplo #1 Ejemplo con 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>");
?>
El resultado del ejemplo sería:
string(1) "A" array(1) { ["ID"]=> string(5) "hallo" } string(3) "PHP" string(1) "A"