xml_set_object

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

xml_set_objectConfigure un objet comme analyseur XML

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 8.4.0. Il est fortement déconseillé de s'appuyer sur cette fonction.

Description

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

Rend l'analyseur parser utilisable depuis un objet. Toutes les méthodes de rappel, affectées par xml_set_element_handler(), seront les méthodes de cet objet.

Liste de paramètres

parser

Une référence d'analyseur XML à utiliser dans l'objet.

object

L'objet dans lequel nous devons utiliser l'analyseur XML.

Valeurs de retour

Retourne toujours true.

Historique

Version Description
8.4.0 Cette fonction est désormais dépréciée, passez plutôt des valeurs callable appropriées à xml_set_()
8.0.0 parser attend une instance de XMLParser désormais; auparavent, une resource xml était attendue.

Exemples

Exemple #1 Exemple avec 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>");
?>

L'exemple ci-dessus va afficher :

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