La classe DOMDocument

(PHP 5, PHP 7, PHP 8)

Introduction

Représente un document HTML ou XML entier ; ce sera la racine de l'arbre document.

Synopsis de la classe

classDOMDocumentextendsDOMNodeimplementsDOMParentNode {
publicreadonly?DOMDocumentType$doctype;
publicreadonly?string$actualEncoding;
publicreadonly?string$xmlEncoding;
publicreadonlymixed$config;
publicreadonlyint$childElementCount;
publicreadonlystring$nodeName;
publicreadonlyint$nodeType;
publicreadonly?DOMNode$parentNode;
publicreadonly?DOMElement$parentElement;
publicreadonlyDOMNodeList$childNodes;
publicreadonly?DOMNode$firstChild;
publicreadonly?DOMNode$lastChild;
publicreadonly?DOMNode$previousSibling;
publicreadonly?DOMNode$nextSibling;
publicreadonlybool$isConnected;
publicreadonly?string$namespaceURI;
publicreadonly?string$localName;
publicreadonly?string$baseURI;
public__construct(string$version = "1.0", string$encoding = "")
publicappend(DOMNode|string...$nodes): void
publiccreateAttributeNS(?string$namespace, string$qualifiedName): DOMAttr|false
publiccreateElement(string$localName, string$value = ""): DOMElement|false
publiccreateElementNS(?string$namespace, string$qualifiedName, string$value = ""): DOMElement|false
publicgetElementsByTagNameNS(?string$namespace, string$localName): DOMNodeList
publicimportNode(DOMNode$node, bool$deep = false): DOMNode|false
publicload(string$filename, int$options = 0): bool
publicloadHTML(string$source, int$options = 0): bool
publicloadHTMLFile(string$filename, int$options = 0): bool
publicloadXML(string$source, int$options = 0): bool
publicprepend(DOMNode|string...$nodes): void
publicregisterNodeClass(string$baseClass, ?string$extendedClass): bool
publicrelaxNGValidate(string$filename): bool
publicsave(string$filename, int$options = 0): int|false
publicsaveHTMLFile(string$filename): int|false
publicsaveXML(?DOMNode$node = null, int$options = 0): string|false
publicschemaValidate(string$filename, int$flags = 0): bool
publicschemaValidateSource(string$source, int$flags = 0): bool
publicvalidate(): bool
publicxinclude(int$options = 0): int|false
publicDOMNode::C14N(
    bool$exclusive = false,
    bool$withComments = false,
    ?array$xpath = null,
    ?array$nsPrefixes = null
): string|false
publicDOMNode::C14NFile(
    string$uri,
    bool$exclusive = false,
    bool$withComments = false,
    ?array$xpath = null,
    ?array$nsPrefixes = null
): int|false
publicDOMNode::isSameNode(DOMNode$otherNode): bool
publicDOMNode::isSupported(string$feature, string$version): bool
}

Propriétés

actualEncoding

Obsolète. L'encodage actuel du document, en lecture seule, équivalent à encoding.

childElementCount

Le nombre d'éléments enfants.

config

Obsolète. Configuration utilisée lorsque DOMDocument::normalizeDocument() est appelé.

doctype

Le Document Type Declaration associé avec ce document.

documentElement

L'objet DOMElement qui est le premier élément du document. S'il n'est pas trouvé, ceci est évalué à null.

documentURI

La localisation du document, ou null si indéfini.

encoding

L'encodage du document, tel que spécifié par la déclaration XML. Cet attribut n'est pas présent dans la spécification DOM Level 3 finale, mais représente la seule façon de manipuler l'encodage du document XML dans cette implémentation.

firstElementChild

Premier élément enfant ou null.

formatOutput

Formate élégamment le résultat avec une indentation et des espaces supplémentaires. Ce paramètre n'a aucun effet si le document a été chargé avec l'activation de preserveWhitespace.

implementation

L'objet DOMImplementation qui gère ce document.

lastElementChild

Dernier élément enfant ou null.

preserveWhiteSpace

Ne pas supprimer les espaces redondants. Vaut par défaut true. Définir ce paramètre à false a le même effet de définir à LIBXML_NOBLANKS le paramètre option de la méthode DOMDocument::load().

recover

Propriétaire. Active le mode "recovery", i.e. tente d'analyser un document mal formé. Cet attribut ne fait pas partie de la spécification DOM et est spécifique à libxml.

resolveExternals

Définissez-le à true pour charger des entités externes depuis la déclaration doctype. C'est utile pour inclure des entités dans vos documents XML.

standalone

Obsolète. Si le document est "standalone", ou non, tel que spécifié par la déclaration XML, correspondant à xmlStandalone.

strictErrorChecking

Lance une DOMException en cas d'erreur. Par défaut, vaut true.

substituteEntities

Propriétaire. Si l'on doit ou non substituer les entités. Cet attribut ne fait pas partie de la spécification DOM et est spécifique à libxml. Par défaut, false

Attention

Activer la substitution d'entités peut faciliter les attaques XML External Entity (XXE).

validateOnParse

Charge et valide la DTD. Par défaut, vaut false.

Attention

Activer la validation du DTD peut faciliter les attaques XML External Entity (XXE).

version

Obsolète. Version du XML, correspond à xmlVersion.

xmlEncoding

Un attribut spécifiant l'encodage du document. Il vaut null lorsque l'encodage n'est pas spécifié, ou lorsqu'il est inconnu, comme c'est le cas lorsque le document a été créé en mémoire.

xmlStandalone

Un attribut spécifiant si le document est "standalone". Il vaut false lorsque non spécifié. Un document standalone est un document où il n'y a pas de déclarations de balisage externes. Un exemple d'une telle déclaration de balisage est lorsque la DTD déclare un attribut avec une valeur par défaut.

xmlVersion

Un attribut spécifiant le numéro de version du document. S'il n'y a pas de déclaration et si le document supporte la fonctionnalité "XML", la valeur sera "1.0".

Historique

VersionDescription
8.0.0DOMDocument implémente désormais DOMParentNode.
8.0.0 La méthode non-implémenté DOMDocument::renameNode() a été retirée.

Notes

Note:

L'extension DOM utilise l'encodage UTF-8. Utilisez mb_convert_encoding(), UConverter::transcode(), ou iconv() pour manipuler d'autres encodages.

Note:

Lors de l'utilisation de json_encode() sur un objet DOMDocument le résultat sera celui d'encoder un objet vide.

Sommaire

To Top