Fonctions d'analyse de fichier XML
PHP Manual

xml_set_object

(PHP 4, PHP 5, PHP 7)

xml_set_objectConfigure un objet comme analyseur XML

Description

bool xml_set_object ( resource $parser , object &$object )

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.

Attention

Depuis PHP 7.0.0, en plus d'appeler la fonction xml_parser_free() à la fin de l'analyse, il est nécessaire de supprimer explicitement la référence au paramètre parser pour éviter les fuites mémoires.

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

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec xml_set_object()

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

L'exemple ci-dessus va afficher :

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


Fonctions d'analyse de fichier XML
PHP Manual