xml_set_object
PHP Manual
PHP Manual»XML Parser Функції»xml_set_object

xml_set_object

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_objectUse XML Parser within an object

Увага

Ця функція ЗАСТАРІЛА, починаючи з PHP 8.4.0. Вкрай не рекомендується на неї покладатися.

Опис

#[\Deprecated]
function xml_set_object(XMLParser $parser, object $object): true

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.

Параметри

parser

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

object

The object where to use the XML parser.

Значення, що повертаються

Завжди повертає true.

Журнал змін

Версія Опис
8.4.0 This function is now deprecated, instead pass proper callable values to xml_set_()
8.0.0 Тепер параметр parser має бути примірником XMLParser. Раніше очікувався xml-resource.

Приклади

Приклад #1 xml_set_object() example

<?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>");
?>

Поданий вище приклад виведе:

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

To Top