php8.5
Home/ Manual/ reference / dom/ The DOMDocument class

The DOMDocument class

Represents an entire HTML or XML document; serves as the root of the document tree.

Intro

Represents an entire HTML or XML document; serves as the root of the document tree.

Class synopsis

class DOMDocument extends DOMNode implements DOMParentNode { }

Properties

actualEncoding

Deprecated as of PHP 8.4.0. Actual encoding of the document, is a readonly equivalent to encoding.

childElementCount

The number of child elements.

config

Deprecated as of PHP 8.4.0. Configuration used when DOMDocument::normalizeDocument() is invoked.

doctype

The Document Type Declaration associated with this document.

documentElement

The DOMElement object that is the first document element. If not found, this evaluates to null.

documentURI

The location of the document or null if undefined.

encoding

Encoding of the document, as specified by the XML declaration. This attribute is not present in the final DOM Level 3 specification, but is the only way of manipulating XML document encoding in this implementation.

firstElementChild

First child element or null.

formatOutput

Nicely formats output with indentation and extra space. This has no effect if the document was loaded with preserveWhitespace enabled.

implementation

The DOMImplementation object that handles this document.

lastElementChild

Last child element or null.

preserveWhiteSpace

Do not remove redundant white space. Default to true. Setting this to false has the same effect as passing LIBXML_NOBLANKS as option to DOMDocument::load etc.

recover

Proprietary. Enables recovery mode, i.e. trying to parse non-well formed documents. This attribute is not part of the DOM specification and is specific to libxml.

resolveExternals

Set it to true to load external entities from a doctype declaration. This is useful for including character entities in your XML document.

standalone

Deprecated. Whether or not the document is standalone, as specified by the XML declaration, corresponds to xmlStandalone.

strictErrorChecking

Throws DOMException on errors. Default to true.

substituteEntities

Proprietary. Whether or not to substitute entities. This attribute is not part of the DOM specification and is specific to libxml. Default to false.

Caution

Enabling entity substitution may facilitate XML External Entity (XXE) attacks.

validateOnParse

Loads and validates against the DTD. Default to false.

Caution

Enabling validating the DTD may facilitate XML External Entity (XXE) attacks.

version

Deprecated. Version of XML, corresponds to xmlVersion.

xmlEncoding

An attribute specifying, as part of the XML declaration, the encoding of this document. This is null when unspecified or when it is not known, such as when the Document was created in memory.

xmlStandalone

An attribute specifying, as part of the XML declaration, whether this document is standalone. This is false when unspecified. A standalone document is one where there are no external markup declarations. An example of such a markup declaration is when the DTD declares an attribute with a default value.

xmlVersion

An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if this document supports the "XML" feature, the value is "1.0".

Changelog

VersionDescription
8.4.0actualEncoding and config are formally deprecated now.
8.0.0DOMDocument implements DOMParentNode now.
8.0.0The unimplemented method DOMDocument::renameNode has been removed.

Notes Utf8 Json

See Also

  • W3C specification for Document

Domdocument

In this section

DOMDocument::__construct

Creates a new DOMDocument object

DOMDocument::adoptNode

Transfer a node from another document

DOMDocument::append

Appends nodes after the last child node

DOMDocument::createAttribute

Create new attribute

DOMDocument::createAttributeNS

Create new attribute node with an associated namespace

DOMDocument::createCDATASection

Create new cdata node

DOMDocument::createComment

Create new comment node

DOMDocument::createDocumentFragment

Create new document fragment

DOMDocument::createElement

Create new element node

DOMDocument::createElementNS

Create new element node with an associated namespace

DOMDocument::createEntityReference

Create new entity reference node

DOMDocument::createProcessingInstruction

Creates new PI node

DOMDocument::createTextNode

Create new text node

DOMDocument::getElementById

Searches for an element with a certain id

DOMDocument::getElementsByTagName

Searches for all elements with given local tag name

DOMDocument::getElementsByTagNameNS

Searches for all elements with given tag name in specified namespace

DOMDocument::importNode

Import node into current document

DOMDocument::load

Load XML from a file

DOMDocument::loadHTML

Load HTML from a string

DOMDocument::loadHTMLFile

Load HTML from a file

DOMDocument::loadXML

Load XML from a string

DOMDocument::normalizeDocument

Normalizes the document

DOMDocument::prepend

Prepends nodes before the first child node

DOMDocument::registerNodeClass

Register extended class used to create base node type

DOMDocument::relaxNGValidate

Performs relaxNG validation on the document

DOMDocument::relaxNGValidateSource

Performs relaxNG validation on the document

DOMDocument::replaceChildren

Replace children in document

DOMDocument::save

Dumps the internal XML tree back into a file

DOMDocument::saveHTML

Dumps the internal document into a string using HTML formatting

DOMDocument::saveHTMLFile

Dumps the internal document into a file using HTML formatting

DOMDocument::saveXML

Dumps the internal XML tree back into a string

DOMDocument::schemaValidate

Validates a document based on a schema. Only XML Schema 1.0 is supported.

DOMDocument::schemaValidateSource

Validates a document based on a schema

DOMDocument::validate

Validates the document based on its DTD

DOMDocument::xinclude

Substitutes XIncludes in a DOMDocument Object

Source: reference/dom/domdocument.xml · from the official PHP manual (php/doc-en)