Manuel PHP
Précédent |  | Suivant

# XXV. DOM XML

Note importante : cette documentation est en cours de rédaction, et n'est pas encore finie. Elle souffre naturellement d'un manque de détails et de relecture. Soyez en prévenu. (Damien Seguy).

Ces fonctions ne sont disponibles que si PHP a été configuré avec l'option `--with-dom=[DIR]`, et utilise la librairie GNOME xml library. Vous aurez aussi besoin de la librairie libxml-2.2.7 (la version beta ne fonctionne pas). Ces fonctions ont été ajoutées en PHP 4.

Cette extension vous permet de générer des documents XML avec les API DOM. Elle fournit aussi une fonction xmltree() qui transforme un fichier XML en tableau PHP. Actuellement, ce tableau est accessible uniquement en lecture. Cela ne siginifie pas que vous ne pouvez pas le modifier, mais cela n'aurait aucun sens car domxml_dumpmem() ne pourra pas prendre ces modifications en considération. Par conséquent, si vous voulez lire un fichier XML et écrire sa version modifiée, utilisez les fonctions domxml_add_node(), domxml_set_attribute(), etc... et finalement domxml_dumpmem().

Ce module définit les constantes suivantes :

Tableau 1. Constantes XML

Constante | Valeur | Description
--- | --- | ---
XML_ELEMENT_NODE | 1 | Le noeud est un élément
XML_ATTRIBUTE_NODE | 2 | Le noeud est un attribut
XML_TEXT_NODE | 3 | Le noeud est un texte
XML_CDATA_SECTION_NODE | 4 |
XML_ENTITY_REF_NODE | 5 |
XML_ENTITY_NODE | 6 | Le noeud est une entité telle que &nbsp;
XML_PI_NODE | 7 | Le noeud est une instruction
XML_COMMENT_NODE | 8 | Le noeud est un commentaire
XML_DOCUMENT_NODE | 9 | Le noeud est un document
XML_DOCUMENT_TYPE_NODE | 10 |
XML_DOCUMENT_FRAG_NODE | 11 |
XML_NOTATION_NODE | 12 |
XML_GLOBAL_NAMESPACE | 1 |
XML_LOCAL_NAMESPACE | 2 |

Chaque fonction de cette extension peut être utilisée de deux manières différentes. Dans un contexte procédural, il faut passer l'objet en premier argument; dans un contexte objet, vous pouvez appeler la fonction comme une méthode de cet objet. Cette documentation présente les fonctions dans leur contexte procédural. Vous pouvez connaître la méthode objet en supprimant le préfixe "`domxml_`". Les tables suivantes listes toutes les classes, leurs attributs et leurs méthodes.

Ce module définit un ensemble de classes, qui sont listées ci-dessous (y compris leur attributs et leur méthodes).

Tableau 2. classe DomDocument (méthodes)

Nom de la méthode | Nom de la fonction | Description
--- | --- | ---
root | domxml_root() |
children | domxml_children() |
add_root | domxml_add_root() |
dtd | domxml_intdtd() |
dumpmem | domxml_dumpmem() |
xpath_init | xpath_init |
xpath_new_context | xpath_new_context |
xptr_new_context | xptr_new_context |

Tableau 3. Classe DomDocument (attributs)

Nom | Type | Description
--- | --- | ---
doc | class DomDocument | L'objet lui-même
name | string |
url | string |
version | string | Version de XML
encoding | string |
standalone | long | 1 si le fichier est complet
type | long | Une des constantes de la table ...
compression | long | 1 si le fichier est compressé
charset | long |

Tableau 4. classe DomNode (méthodes)

Nom | Nom en PHP | Description
--- | --- | ---
lastchild | domxml_last_child() |
children | domxml_children() |
parent | domxml_parent() |
new_child | domxml_new_child() |
get_attribute | domxml_get_attribute() |
set_attribute | domxml_set_attribute() |
attributes | domxml_attributes() |
node | domxml_node() |
set_content() | domxml_set_content |

Tableau 5. classe DomNode (attributs)

Nom | Type | Description
--- | --- | ---
node | class DomNode | L'objet lui-même
type | long |
name | string |
content | string |

Précédent | Sommaire | Suivant
rewinddir | Niveau supérieur | xmldoc