xml_set_object

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

xml_set_objectUse XML Parser within an object

Warnung

Diese Funktion ist seit PHP 8.4.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.

Beschreibung

#[\Deprecated]
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.

Parameter-Liste

parser

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

object

The object where to use the XML parser.

Rückgabewerte

Gibt immer true zurück.

Changelog

Version Beschreibung
8.4.0 This function is now deprecated, instead pass proper callable values to xml_set_()
8.0.0 parser erwartet nun eine XMLParser-Instanz; vorher wurde eine gültige xml-Ressource erwartet.

Beispiele

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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