La classe DOMDocument

(PHP 5, PHP 7)

Introduction

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

Synopsis de la classe

DOMDocument extends DOMNode {
/* Propriétés */
public readonly string $actualEncoding ;
public readonly DOMConfiguration $config ;
public readonly DOMDocumentType $doctype ;
public readonly DOMElement $documentElement ;
public string|null $documentURI ;
public string $encoding ;
public bool $formatOutput ;
public bool $preserveWhiteSpace = true ;
public bool $recover ;
public bool $resolveExternals ;
public bool $standalone ;
public bool $strictErrorChecking = true ;
public bool $substituteEntities ;
public bool $validateOnParse = false ;
public string $version ;
public readonly string|null $xmlEncoding ;
public bool $xmlStandalone ;
public string $xmlVersion ;
/* Propriétés héritées */
public readonly string $nodeName ;
public string $nodeValue ;
public readonly int $nodeType ;
public readonly DOMNode|null $parentNode ;
public readonly DOMNodeList $childNodes ;
public readonly DOMNode|null $firstChild ;
public readonly DOMNode|null $lastChild ;
public readonly DOMNode|null $previousSibling ;
public readonly DOMNode|null $nextSibling ;
public readonly DOMNamedNodeMap|null $attributes ;
public readonly DOMDocument|null $ownerDocument ;
public readonly string|null $namespaceURI ;
public string $prefix ;
public readonly string $localName ;
public readonly string|null $baseURI ;
public string $textContent ;
/* Méthodes */
public __construct ( string $version = "1.0" , string $encoding = "" )
public createAttribute ( string $localName ) : DOMAttr|false
public createAttributeNS ( string|null $namespace , string $qualifiedName ) : DOMAttr|false
public createCDATASection ( string $data ) : DOMCdataSection|false
public createComment ( string $data ) : DOMComment|false
public createElement ( string $localName , string $value = "" ) : DOMElement|false
public createElementNS ( string|null $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|false
public getElementById ( string $elementId ) : DOMElement|null
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 ) : DOMDocument|bool
public loadHTML ( string $source , int $options = 0 ) : DOMDocument|bool
public loadHTMLFile ( string $filename , int $options = 0 ) : DOMDocument|bool
public loadXML ( string $source , int $options = 0 ) : DOMDocument|bool
public normalizeDocument ( ) : void
public registerNodeClass ( string $baseClass , string|null $extendedClass ) : bool
public relaxNGValidate ( string $filename ) : bool
public relaxNGValidateSource ( string $source ) : bool
public save ( string $filename , int $options = 0 ) : int|false
public saveHTML ( DOMNode|null $node = null ) : string|false
public saveHTMLFile ( string $filename ) : int|false
public saveXML ( DOMNode|null $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|null $xpath = null , array|null $nsPrefixes = null ) : string|false
public DOMNode::C14NFile ( string $uri , bool $exclusive = false , bool $withComments = false , array|null $xpath = null , array|null $nsPrefixes = null ) : int|false
public DOMNode::cloneNode ( bool $deep = false ) : DOMNode|false
public DOMNode::getLineNo ( ) : int
public DOMNode::getNodePath ( ) : string|null
public DOMNode::hasAttributes ( ) : bool
public DOMNode::hasChildNodes ( ) : bool
public DOMNode::insertBefore ( DOMNode $node , DOMNode|null $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|null
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.

config

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

doctype

Le doctype associé au document.

documentElement

C'est un attribut de convenance, qui permet un accès direct au nœud fils, qui est l'élément document du document.

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.

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.

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 parti 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 parti de la spécification DOM et est spécifique à libxml.

Attention

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

validateOnParse

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

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".

Notes

Note:

L'extension DOM utilise l'encodage UTF-8. Utilisez utf8_encode() et utf8_decode() pour travailler avec des textes dans l'encodage ISO-8859-1 ou iconv pour d'autre encodages.

Note:

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

Sommaire