Deux classes principales sont définies dans la librairie DOM XML. Il s'agît des classes DOMDocument et DOMNode.
Ces deux classes possèdent chacunes des méthodes et des propriétés spécifiques permettant de récupérer ou d'ajouter des informations.
La classe DOMDocument
Les méthodes
Nom |
Fonction |
Description |
root |
domxml_root() |
retourne le noeud racine du document XML. |
children |
domxml_children() |
retourne un tableau contenant les enfants du document XML. |
add_root |
domxml_add_root() |
ajoute un nouveau noeud racine à un document XML. |
dtd |
domxml_intdtd() |
retourne la déclaration de type de document. |
dumpmem |
domxml_dumpmem() |
retourne une chaîne de caractères rerésentant les données du document XML. |
xpath_init |
xpath_init() |
initialise une expression XPath. |
xpath_new_context |
xpath_new_context() |
crée un nouveau contexte pour une expression XPath. |
xptr_new_context |
xptr_new_context() |
crée un nouveau contexte pour un pointeur. |
Les propriétés
Nom |
Type |
Description |
doc |
class DOMDocument |
retourne l'objet DOMDocument lui-même. |
name |
chaîne |
retourne le nom du document XML. |
url |
chaîne |
retourne l'adresse URL du document XML. |
version |
chaîne |
retourne le numéro de version de XML. |
encoding |
chaîne |
retourne l'encodage du document XML. |
standalone |
entier long |
indique si le document XML est autonome. |
type |
entier long |
indique le type du document XML. |
compression |
entier long |
indique si le fichier est compressé. |
charset |
entier long |
retourne le jeu de caractères du document XML. |
La classe DOMNode
Les méthodes
Nom |
Fonction |
Description |
lastchild |
domxml_last_child() |
retourne le dernier enfant du noeud courant. |
children |
domxml_children() |
retourne une liste des noeuds enfants dans un tableau. |
parent |
domxml_parent() |
retourne le noeud parent du noeud courant. |
new_child |
domxml_new_child() |
ajoute un nouvel enfant au noeud courant. |
get_attribute |
domxml_get_attribute() |
retourne la valeur d'un attribut du noeud courant. |
set_attribute |
domxml_set_attribute() |
fixe la valeur d'un attribut du noeud courant. |
attributes |
domxml_attributes() |
retourne une liste d'attributs du noeud courant. |
node |
domxml_node() |
retourne un noeud. |
set_content |
domxml_set_content() |
fixe le contenu du noeud courant. |
Les propriétés
Nom |
Type |
Description |
node |
class DomNode |
retourne l'objet DOMNode lui-même. |
type |
entier long |
retourne le type du noeud courant. |
name |
chaîne |
retourne le nom du noeud courant. |
content |
chaîne |
retourne le contenu du noeud courant. |
Exemple [voir]
<?php
$chaine_xml = '<? xml version="1.0" ?>'
. '<element_racine>'
. '<element_enfant_1>Première valeur</element_enfant_1>'
. '<element_enfant_2 attribut="valeur attribut">'
. 'Seconde valeur'
. '</element_enfant_2>'
. '</element_racine>';
$document = xmldoc($chaine_xml);
$element_racine = $document->root();
$noeuds = $element_racine->children();
while ($noeud = array_shift($noeuds))
{
if ($noeud->name == "element_enfant_2")
{
$enfant = $noeud;
break;
}
}
$attribut = $enfant->getattr("attribut");
$texte_noeud = array_shift($enfant->children());
$valeur = $texte_noeud->content;
echo '<u>Contenu du second élément enfant :</u> '
. '<b>' . $texte . '</b>'
. '<br><u>Contenu de son attribut :</u> '
. '<b>' . $attribut . '</b>';
?> |