(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
class
DOMDocument
extends
DOMNode
implements
DOMParentNode {
/* Propriétés */
public
readonly
?DOMDocumentType
$doctype;
public
readonly
DOMImplementation
$implementation;
public
readonly
?DOMElement
$documentElement;
public
readonly
?string
$actualEncoding;
public
?string
$encoding;
public
readonly
?string
$xmlEncoding;
public
bool
$standalone;
public
bool
$xmlStandalone;
public
?string
$version;
public
?string
$xmlVersion;
public
bool
$strictErrorChecking;
public
?string
$documentURI;
public
readonly
mixed
$config = null;
public
bool
$formatOutput;
public
bool
$validateOnParse;
public
bool
$resolveExternals;
public
bool
$preserveWhiteSpace;
public
bool
$recover;
public
bool
$substituteEntities;
public
readonly
?DOMElement
$firstElementChild;
public
readonly
?DOMElement
$lastElementChild;
public
readonly
int
$childElementCount;
/* Propriétés héritées */
public
readonly
string
$nodeName;
public
?string
$nodeValue;
public
readonly
int
$nodeType;
public
readonly
?DOMNode
$parentNode;
public
readonly
DOMNodeList
$childNodes;
public
readonly
?DOMNode
$firstChild;
public
readonly
?DOMNode
$lastChild;
public
readonly
?DOMNode
$previousSibling;
public
readonly
?DOMNode
$nextSibling;
public
readonly
?DOMNamedNodeMap
$attributes;
public
readonly
?DOMDocument
$ownerDocument;
public
readonly
?string
$namespaceURI;
public
string
$prefix;
public
readonly
?string
$localName;
public
readonly
?string
$baseURI;
public
string
$textContent;
/* Méthodes */
public __construct(string
$version
= "1.0", string
$encoding
= "")
public createAttribute(string
$localName
): DOMAttr|false
public createAttributeNS(?string
$namespace
, string
$qualifiedName
): DOMAttr|false
public createCDATASection(string
$data
): DOMCdataSection|false
public createComment(string
$data
): DOMComment
public
createDocumentFragment(): DOMDocumentFragment
public createElement(string
$localName
, string
$value
= ""): DOMElement|false
public createElementNS(?string
$namespace
, string
$qualifiedName
, string
$value
= ""): DOMElement|false
public createEntityReference(string
$name
): DOMEntityReference|false
public createProcessingInstruction(string
$target
, string
$data
= ""): DOMProcessingInstruction|false
public createTextNode(string
$data
): DOMText
public getElementById(string
$elementId
): ?DOMElement
public getElementsByTagName(string
$qualifiedName
): DOMNodeList
public getElementsByTagNameNS(?string
$namespace
, string
$localName
): DOMNodeList
public importNode(DOMNode
$node
, bool
$deep
=
false
): DOMNode|false
public load(string
$filename
, int
$options
= 0): bool
public loadHTML(string
$source
, int
$options
= 0): bool
public loadHTMLFile(string
$filename
, int
$options
= 0): bool
public loadXML(string
$source
, int
$options
= 0): bool
public
normalizeDocument(): void
public registerNodeClass(string
$baseClass
, ?string
$extendedClass
): bool
public relaxNGValidate(string
$filename
): bool
public relaxNGValidateSource(string
$source
): bool
public save(string
$filename
, int
$options
= 0): int|false
public saveHTML(?DOMNode
$node
=
null
): string|false
public saveHTMLFile(string
$filename
): int|false
public saveXML(?DOMNode
$node
=
null
, int
$options
= 0): string|false
public schemaValidate(string
$filename
, int
$flags
= 0): bool
public schemaValidateSource(string
$source
, int
$flags
= 0): bool
public
validate(): bool
public xinclude(int
$options
= 0): int|false
/* Méthodes héritées */
public DOMNode::appendChild(DOMNode
$node
): DOMNode|false
public DOMNode::C14N(
bool
$exclusive
=
false
,
bool
$withComments
=
false
,
?array
$xpath
=
null
,
?array
$nsPrefixes
=
null
): string|false
public DOMNode::C14NFile(
string
$uri
,
bool
$exclusive
=
false
,
bool
$withComments
=
false
,
?array
$xpath
=
null
,
?array
$nsPrefixes
=
null
): int|false
public DOMNode::cloneNode(bool
$deep
=
false
): DOMNode|false
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode
$node
, ?DOMNode
$child
=
null
): DOMNode|false
public DOMNode::isDefaultNamespace(string
$namespace
): bool
public DOMNode::isSameNode(DOMNode
$otherNode
): bool
public DOMNode::isSupported(string
$feature
, string
$version
): bool
public DOMNode::lookupNamespaceURI(?string
$prefix
): ?string
public DOMNode::lookupPrefix(string
$namespace
): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode
$child
): DOMNode|false
public DOMNode::replaceChild(DOMNode
$node
, DOMNode
$child
): DOMNode|false
}
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é.
- 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
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.
Voir aussi
- » Spécification W3C de Document
Sommaire
- DOMDocument::__construct — Crée un nouvel objet DOMDocument
- DOMDocument::createAttribute — Crée un nouvel attribut
- DOMDocument::createAttributeNS — Crée un nouvel attribut avec un espace de noms associé
- DOMDocument::createCDATASection — Crée un nouveau nœud cdata
- DOMDocument::createComment — Crée un nouveau nœud de commentaire
- DOMDocument::createDocumentFragment — Crée un nouveau fragment de document
- DOMDocument::createElement — Crée un nouveau nœud
- DOMDocument::createElementNS — Crée un nouveau nœud avec un espace de noms associé
- DOMDocument::createEntityReference — Crée un nouveau nœud de référence d'entité
- DOMDocument::createProcessingInstruction — Crée un nouveau nœud PI
- DOMDocument::createTextNode — Crée un nouveau nœud de texte
- DOMDocument::getElementById — Cherche un élément avec un certain identifiant
- DOMDocument::getElementsByTagName — Cherche tous les éléments qui ont le nom de la balise locale donné
- DOMDocument::getElementsByTagNameNS — Recherche tous les éléments avec un nom de balise donné dans un espace de noms spécifié
- DOMDocument::importNode — Importe un nœud dans le document courant
- DOMDocument::load — Charge du XML depuis un fichier
- DOMDocument::loadHTML — Charge du code HTML à partir d'une chaîne de caractères
- DOMDocument::loadHTMLFile — Charge du HTML à partir d'un fichier
- DOMDocument::loadXML — Charge du XML depuis une chaîne de caractères
- DOMDocument::normalizeDocument — Normalise le document
- DOMDocument::registerNodeClass — Enregistre la classe étendue utilisée pour créer un type de base de nœud
- DOMDocument::relaxNGValidate — Effectue une validation relaxNG sur le document
- DOMDocument::relaxNGValidateSource — Effectue une validation relaxNG sur le document
- DOMDocument::save — Sauvegarde l'arbre interne XML dans un fichier
- DOMDocument::saveHTML — Sauvegarde le document interne dans une chaîne en utilisant un formatage HTML
- DOMDocument::saveHTMLFile — Sauvegarde un document interne dans un fichier en utilisant un formatage HTML
- DOMDocument::saveXML — Sauvegarde l'arbre interne XML dans une chaîne de caractères
- DOMDocument::schemaValidate — Valide un document selon un schéma. Seuls les schémas XML 1.0 sont supportés.
- DOMDocument::schemaValidateSource — Valide un document selon un schéma
- DOMDocument::validate — Valide un document en se basant sur sa DTD
- DOMDocument::xinclude — Remplace les XIncludes dans un objet DOMDocument