A classe DOMDocument

(PHP 5, PHP 7, PHP 8)

Introdução

Representa um documento HTML ou XML inteiro; serve como a raiz da árvore do documento.

Resumo da classe

class DOMDocument extends DOMNode implements DOMParentNode {
/* Propriedades */
public readonly ?DOMDocumentType $doctype;
public readonly ?DOMElement $documentElement;
public readonly ?string $actualEncoding;
public ?string $encoding;
public readonly ?string $xmlEncoding;
public ?string $version;
public readonly mixed $config;
public bool $recover;
public readonly ?DOMElement $firstElementChild;
public readonly ?DOMElement $lastElementChild;
public readonly int $childElementCount;
/* Propriedades herdadas */
public readonly string $nodeName;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly ?DOMElement $parentElement;
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 bool $isConnected;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
/* Métodos */
public __construct(string $version = "1.0", string $encoding = "")
public append(DOMNode|string ...$nodes): void
public createAttribute(string $localName): DOMAttr|false
public createAttributeNS(?string $namespace, string $qualifiedName): DOMAttr|false
public createElement(string $localName, string $value = ""): DOMElement|false
public createElementNS(?string $namespace, string $qualifiedName, string $value = ""): DOMElement|false
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 prepend(DOMNode|string ...$nodes): void
public registerNodeClass(string $baseClass, ?string $extendedClass): bool
public relaxNGValidate(string $filename): bool
public replaceChildren(DOMNode|string ...$nodes): void
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étodos herdados */
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::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $otherNode): bool
public DOMNode::isSupported(string $feature, string $version): bool
}

Propriedades

actualEncoding

Descontinuado.Codificação real do documento, é uma leitura apenas equivalente a encoding.

childElementCount

O número de elementos filhos.

config

Descontinuado. Configuração usando quando DOMDocument::normalizeDocument() é invocada.

doctype

A Declaração de Tipo de Documento associada a este documento.

documentElement

O objeto DOMElement que é o primeiro elemento do documento. Se não encontrado, é avaliado como null.

documentURI

A localização do documento ou null se indefinido.

encoding

Codificação do documento, conforme especificado pela declaração XML. Este atributo não está presente na especificação final do DOM Nível 3, mas é a única maneira de manipular a codificação do documento XML nesta implementação.

firstElementChild

Primeiro elemento filho ou null.

formatOutput

Formata a saída com espaçamento e recuo adicionais. Isso não tem efeito se o documento foi carregado com preserveWhitespace habilitado.

implementation

O objeto DOMImplementation que manipula este documento.

lastElementChild

Último elemento filho ou null.

preserveWhiteSpace

Não remover espaços em branco redundantes. O padrão é true. Definir isso como false tem o mesmo efeito que passar LIBXML_NOBLANKS como option para DOMDocument::load() etc.

recover

Proprietário. Ativa o modo de recuperação, ou seja, tenta analisar documentos mal formados. Este atributo não faz parte da especificação DOM e é específico para o libxml.

resolveExternals

Configure como true para carregar entidades externas de uma declaração de tipo de documento (doctype). Isso é útil para incluir entidades de caracteres em seu documento XML.

standalone

Descontinuado. Se o documento é ou não independente, conforme especificado pela declaração XML, corresponde a xmlStandalone.

strictErrorChecking

Lança DOMException em caso de erro. Padrão é true.

substituteEntities

Proprietário. Se deve ou não substituir entidades. Este atributo não faz parte da especificação DOM e é específico para o libxml. Padrão é false.

Caution

A ativação da substituição de entidades pode facilitar ataques de XML External Entity (XXE).

validateOnParse

Carrega e valida em relação ao DTD. Padrão é false.

Caution

Ativar a validação do DTD pode facilitar ataques de XML External Entity (XXE).

version

Descontinuado. Versão do XML, corresponde a xmlVersion.

xmlEncoding

Um atributo especificando, como parte da declaração XML, a codificação deste documento. Isso é null quando não especificado ou quando não é conhecido, como quando o Documento foi criado na memória.

xmlStandalone

Um atributo que especifica, como parte da declaração XML, se este documento é independente. Isso é false quando não especificado. Um documento independente é aquele que não possui declarações de marcações externas. Um exemplo de tal declaração de marcação é quando o DTD declara um atributo com um valor padrão.

xmlVersion

Um atributo que especifica, como parte da declaração XML, o número da versão deste documento. Se não houver declaração e se este documento suportar o recurso "XML", o valor é "1.0".

Registro de Alterações

Versão Descrição
8.0.0 DOMDocument implements DOMParentNode now.
8.0.0 O método não implementado DOMDocument::renameNode() foi removido.

Notas

Note:

A extensão DOM usa codificação UTF-8. Use mb_convert_encoding(), UConverter::transcode() ou iconv() para lidar com outras codificações.

Note:

Ao usar json_encode() em um objeto DOMDocument, o resultado será a codificação de um objeto vazio.

Table of Contents