# Document Object Model

# Introdução

A extensão DOM permite operar em documentos XML e HTML através da API DOM diretamente do PHP.

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

- Instalação/Configuração
  - Dependências
  - Instalação
- Constantes predefinidas
- Exemplos
- DOMAttr — Classe DOMAttr
  - DOMAttr::__construct — Cria um novo objeto DOMAttr
  - DOMAttr::isId — Verifica se o atributo é um ID definido
- DOMCdataSection — A classe DOMCdataSection
  - DOMCdataSection::__construct — Constrói um novo objeto DOMCdataSection
- DOMCharacterData — A classe DOMCharacterData
  - DOMCharacterData::after — Adiciona nós após os dados de caracteres
  - DOMCharacterData::appendData — Acrescenta a string ao final dos dados de caractere do nó
  - DOMCharacterData::before — Adiciona nós antes dos dados de caracteres
  - DOMCharacterData::deleteData — Remove uma faixa de caracteres dos dados de caracteres
  - DOMCharacterData::insertData — Insere uma string na posição de ponto de código UTF-8 especificada
  - DOMCharacterData::remove — Remove o nó de dados de caractere
  - DOMCharacterData::replaceData — Substitui uma substring dentro dos dados de caracteres
  - DOMCharacterData::replaceWith — Substitui os dados de caracteres por novos nós
  - DOMCharacterData::substringData — Extrai uma faixa de dados dos dados de caracteres
- DOMChildNode — A interface DOMChildNode
  - DOMChildNode::after — Adiciona nós após o nó
  - DOMChildNode::before — Adiciona nós antes do nó
  - DOMChildNode::remove — Remove o nó
  - DOMChildNode::replaceWith — Substitui o nó por novos nós
- DOMComment — A classe DOMComment
  - DOMComment::__construct — Cria um novo objeto DOMComment
- DOMDocument — A classe DOMDocument
  - DOMDocument::adoptNode — Transfere um nó de outro documento
  - DOMDocument::append — Adiciona nós após o último nó filho
  - DOMDocument::__construct — Cria um novo objeto DOMDocument
  - DOMDocument::createAttribute — Cria um novo attribute
  - DOMDocument::createAttributeNS — Cria um novo nó de atributo com um namespace associado
  - DOMDocument::createCDATASection — Cria um novo nó de CDATA
  - DOMDocument::createComment — Cria novo nó de comentárioe
  - DOMDocument::createDocumentFragment — Cria novo fragmento de documento
  - DOMDocument::createElement — Cria novo nó de elemento
  - DOMDocument::createElementNS — Cria novo nó de elemento com um namespace associado
  - DOMDocument::createEntityReference — Cria novo nó de referência de entidade
  - DOMDocument::createProcessingInstruction — Cria novo nó PI (Processing Instruction)
  - DOMDocument::createTextNode — Cria novo nó de texto
  - DOMDocument::getElementById — Procura por um elemento com um determinado ID
  - DOMDocument::getElementsByTagName — Procura por todos os elementos com uma determinada tag name local
  - DOMDocument::getElementsByTagNameNS — Procura por todos os elementos com uma determinada tag name em um namespace específico
  - DOMDocument::importNode — Importa um nó para o documento atual
  - DOMDocument::load — Carrega XML de um arquivo
  - DOMDocument::loadHTML — Carrega HTML a partir de uma string
  - DOMDocument::loadHTMLFile — Carrega HTML de um arquivo
  - DOMDocument::loadXML — Carrega XML a partir de uma string
  - DOMDocument::normalizeDocument — Normaliza o documento
  - DOMDocument::prepend — Adiciona nós antes do primeiro nó filho
  - DOMDocument::registerNodeClass — Registra uma classe estendida usada para criar um tipo de nó base
  - DOMDocument::relaxNGValidate — Realiza a validação relaxNG no documento
  - DOMDocument::relaxNGValidateSource — Realiza a validação relaxNG no documento
  - DOMDocument::replaceChildren — Substitui filhos no documento
  - DOMDocument::save — Grava a árvore XML interna de volta em um arquivo
  - DOMDocument::saveHTML — Despeja o documento interno em uma string usando formatação HTML
  - DOMDocument::saveHTMLFile — Despeja o documento interno em um arquivo usando formatação HTML
  - DOMDocument::saveXML — Despeja a árvore XML interna de volta em uma string
  - DOMDocument::schemaValidate — Valida um documento com base em um esquema. Apenas XML Schema 1.0 é suportado.
  - DOMDocument::schemaValidateSource — Valida um documento com base em um esquema
  - DOMDocument::validate — Valida o documento com base em seu DTD
  - DOMDocument::xinclude — Substitui XIncludes em um objeto DOMDocument
- DOMDocumentFragment — A classe DOMDocumentFragment
  - DOMDocumentFragment::append — Acrescenta nós após o último nó filho
  - DOMDocumentFragment::appendXML — Anexa dados XML brutos
  - DOMDocumentFragment::__construct — Constrói um objeto DOMDocumentFragment
  - DOMDocumentFragment::prepend — Insere nós antes do primeiro nó filho
  - DOMDocumentFragment::replaceChildren — Substitui filhos no fragmento
- DOMDocumentType — A classe DOMDocumentType
- DOMElement — A classe DOMElement
  - DOMElement::after — Adiciona nós após o elemento
  - DOMElement::append — Adiciona nós após o último nó filho
  - DOMElement::before — Adiciona nós antes do elemento
  - DOMElement::__construct — Cria um novo objeto DOMElement
  - DOMElement::getAttribute — Retorna o valor do atributo
  - DOMElement::getAttributeNames — Obtém nomes de atributos
  - DOMElement::getAttributeNode — Retorna o nó do atributo
  - DOMElement::getAttributeNodeNS — Retorna o nó do atributo
  - DOMElement::getAttributeNS — Retorna o valor do atributo
  - DOMElement::getElementsByTagName — Obtém elementos pelo nome da tag
  - DOMElement::getElementsByTagNameNS — Obtém elementos por namespaceURI e localName
  - DOMElement::hasAttribute — Verifica se o atributo existe
  - DOMElement::hasAttributeNS — Verifica se o atributo existe
  - DOMElement::insertAdjacentElement — Insere um elemento adjacente
  - DOMElement::insertAdjacentText — Insere texto adjacente
  - DOMElement::prepend — Adiciona nós antes do primeiro nó filho
  - DOMElement::remove — Remove o elemento
  - DOMElement::removeAttribute — Remove atributo
  - DOMElement::removeAttributeNode — Remove atributo
  - DOMElement::removeAttributeNS — Remove atributo
  - DOMElement::replaceChildren — Substitui filhos no elemento
  - DOMElement::replaceWith — Substitui o elemento por novos nodes
  - DOMElement::setAttribute — Adiciona ou modifica um atributo existente
  - DOMElement::setAttributeNode — Adiciona um novo nó de atributo ao elemento
  - DOMElement::setAttributeNodeNS — Adiciona um novo nó de atributo ao elemento
  - DOMElement::setAttributeNS — Adiciona um novo atributo
  - DOMElement::setIdAttribute — Declara que o atributo especificado pelo nome é do tipo ID
  - DOMElement::setIdAttributeNode — Declara que o atributo especificado pelo nó é do tipo ID
  - DOMElement::setIdAttributeNS — Declara que o atributo especificado pelo nome local e pelo URI do namespace é do tipo ID
  - DOMElement::toggleAttribute — Alterna atributo
- DOMEntity — A classe DOMEntity
- DOMEntityReference — A classe DOMEntityReference
  - DOMEntityReference::__construct — Cria um novo objeto DOMEntityReference
- DOMException — A classe DOMException / Dom\Exception
- DOMImplementation — A classe DOMImplementation
  - DOMImplementation::__construct — Cria um novo objeto DOMImplementation
  - DOMImplementation::createDocument — Cria um objeto DOMDocument do tipo especificado com seu elemento de documento
  - DOMImplementation::createDocumentType — Cria um objeto DOMDocumentType vazio
  - DOMImplementation::hasFeature — Testa se a implementação DOM implementa um recurso específico
- DOMNamedNodeMap — A classe DOMNamedNodeMap
  - DOMNamedNodeMap::count — Obtém o número de nós no mapa
  - DOMNamedNodeMap::getIterator — Recupera um iterador externo
  - DOMNamedNodeMap::getNamedItem — Recupera um nó especificado pelo nome
  - DOMNamedNodeMap::getNamedItemNS — Recupera um nó especificado pelo nome local e URI do namespace
  - DOMNamedNodeMap::item — Recupera um nó especificado pelo índice
- DOMNameSpaceNode — A classe DOMNameSpaceNode
  - DOMNameSpaceNode::__sleep — Proíbe a serialização a menos que métodos de serialização estejam implementados em uma subclasse
  - DOMNameSpaceNode::__wakeup — Proíbe a desserialização a menos que métodos de desserialização estejam implementados em uma subclasse
- DOMNode — A classe DOMNode
  - DOMNode::appendChild — Adiciona um novo filho ao final dos filhos
  - DOMNode::C14N — Canonicaliza nós para uma string
  - DOMNode::C14NFile — Canonicaliza nós para um arquivo
  - DOMNode::cloneNode — Clona um nó
  - DOMNode::compareDocumentPosition — Compara a posição de dois nós
  - DOMNode::contains — Verifica se o nó contém outro nó
  - DOMNode::getLineNo — Obtém o número da linha para um nó
  - DOMNode::getNodePath — Obtém um XPath para um nó
  - DOMNode::getRootNode — Obtém o nó raiz
  - DOMNode::hasAttributes — Verifica se o nó possui atributos
  - DOMNode::hasChildNodes — Verifica se o nó possui filhos
  - DOMNode::insertBefore — Adiciona um novo filho antes de um nó de referência
  - DOMNode::isDefaultNamespace — Verifica se o namespaceURI especificado é o namespace padrão ou não
  - DOMNode::isEqualNode — Verifica se ambos os nós são iguais
  - DOMNode::isSameNode — Indica se dois nós são o mesmo nó
  - DOMNode::isSupported — Verifica se o recurso é suportado para a versão especificada
  - DOMNode::lookupNamespaceURI — Obtém o URI do namespace do nó com base no prefixo
  - DOMNode::lookupPrefix — Obtém o prefixo do namespace do nó com base no URI do namespace
  - DOMNode::normalize — Normaliza o nó
  - DOMNode::removeChild — Remove um filho da lista de filhos
  - DOMNode::replaceChild — Substitui um filho
  - DOMNode::__sleep — Proíbe a serialização a menos que métodos de serialização estejam implementados em uma subclasse
  - DOMNode::__wakeup — Proíbe a desserialização a menos que métodos de desserialização estejam implementados em uma subclasse
- DOMNodeList — A classe DOMNodeList
  - DOMNodeList::count — Obtém o número de nós na lista
  - DOMNodeList::getIterator — Retorna um iterador externo
  - DOMNodeList::item — Recupera um nó especificado pelo índice
- DOMNotation — A classe DOMNotation
- DOMParentNode — A interface DOMParentNode
  - DOMParentNode::append — Acrescenta nós após o último nó filho
  - DOMParentNode::prepend — Insere nós antes do primeiro nó filho
  - DOMParentNode::replaceChildren — Substitui filhos no nó
- DOMProcessingInstruction — A classe DOMProcessingInstruction
  - DOMProcessingInstruction::__construct — Cria um novo objeto DOMProcessingInstruction
- DOMText — A classe DOMText
  - DOMText::__construct — Cria um novo objeto DOMText
  - DOMText::isElementContentWhitespace — Retorna se este nó de texto contém espaços em branco no conteúdo do elemento
  - DOMText::isWhitespaceInElementContent — Indica se este nó de texto contém espaços em branco
  - DOMText::splitText — Quebra este nó em dois nós no deslocamento especificado
- DOMXPath — A classe DOMXPath
  - DOMXPath::__construct — Cria um novo objeto DOMXPath
  - DOMXPath::evaluate — Avalia a expressão XPath fornecida e retorna um resultado tipado se possível
  - DOMXPath::query — Avalia a expressão XPath fornecida
  - DOMXPath::quote — Envolve uma string com aspas para uso em uma expressão XPath
  - DOMXPath::registerNamespace — Registra o namespace com o objeto DOMXPath
  - DOMXPath::registerPhpFunctionNS — Registra uma função PHP como função XPath com namespace
  - DOMXPath::registerPhpFunctions — Registra funções PHP como funções XPath
- Dom\AdjacentPosition — A Enumeração Dom\AdjacentPosition
- Dom\Attr — A Classe Dom\Attr
  - Dom\Attr::isId — Verifica se o atributo é um ID definido
  - Dom\Attr::rename — Altera o nome qualificado ou namespace de um atributo
- Dom\CDATASection — A Classe Dom\CDATASection
- Dom\CharacterData — A Classe Dom\CharacterData
  - Dom\CharacterData::after — Adiciona nós após os dados de caracteres
  - Dom\CharacterData::appendData — Acrescenta a string ao final dos dados de caractere do nó
  - Dom\CharacterData::before — Adiciona nós antes dos dados de caracteres
  - Dom\CharacterData::deleteData — Remove uma faixa de caracteres dos dados de caracteres
  - Dom\CharacterData::insertData — Insere uma string na posição de ponto de código UTF-8 especificada
  - Dom\CharacterData::remove — Remove o nó de dados de caractere
  - Dom\CharacterData::replaceData — Substitui uma substring dentro dos dados de caracteres
  - Dom\CharacterData::replaceWith — Substitui os dados de caracteres por novos nós
  - Dom\CharacterData::substringData — Extrai uma faixa de dados dos dados de caracteres
- Dom\ChildNode — A Interface Dom\ChildNode
  - Dom\ChildNode::after — Adiciona nós após o nó
  - Dom\ChildNode::before — Adiciona nós antes do nó
  - Dom\ChildNode::remove — Remove o nó
  - Dom\ChildNode::replaceWith — Substitui o nó por novos nós
- Dom\Comment — A Classe Dom\Comment
- Dom\Document — A Classe Dom\Document
- Dom\DocumentFragment — A Classe Dom\DocumentFragment
- Dom\DocumentType — A Classe Dom\DocumentType
- Dom\DtdNamedNodeMap — A Classe Dom\DtdNamedNodeMap
- Dom\Element — A Classe Dom\Element
- Dom\Entity — A Classe Dom\Entity
- Dom\EntityReference — A Classe Dom\EntityReference
- Dom\HTMLCollection — A Classe Dom\HTMLCollection
- Dom\HTMLDocument — A Classe Dom\HTMLDocument
  - Dom\HTMLDocument::createEmpty — Cria um documento HTML vazio
  - Dom\HTMLDocument::createFromFile — Analisa um documento HTML a partir de um arquivo
  - Dom\HTMLDocument::createFromString — Analisa um documento HTML a partir de uma string
  - Dom\HTMLDocument::saveHtml — Serializa o documento como uma string HTML
  - Dom\HTMLDocument::saveHtmlFile — Serializa o documento como um arquivo HTML
  - Dom\HTMLDocument::saveXml — Serializa o documento como uma string XML
  - Dom\HTMLDocument::saveXmlFile — Serializa o documento como um arquivo XML
- Dom\HTMLElement — A Classe Dom\HTMLElement
- Dom\Implementation — A Classe Dom\Implementation
- Dom\NamedNodeMap — A Classe Dom\NamedNodeMap
- Dom\NamespaceInfo — A Classe Dom\NamespaceInfo
- Dom\Node — A Classe Dom\Node
- Dom\NodeList — A Classe Dom\NodeList
- Dom\Notation — A Classe Dom\Notation
- Dom\ParentNode — A Interface Dom\ParentNode
  - Dom\ParentNode::append — Acrescenta nós após o último nó filho
  - Dom\ParentNode::prepend — Insere nós antes do primeiro nó filho
  - Dom\ParentNode::querySelector — Retorna o primeiro elemento que corresponde aos seletores CSS
  - Dom\ParentNode::querySelectorAll — Retorna uma coleção de elementos que correspondem aos seletores CSS
  - Dom\ParentNode::replaceChildren — Substitui filhos no nó
- Dom\ProcessingInstruction — A Classe Dom\ProcessingInstruction
- Dom\Text — A Classe Dom\Text
  - Dom\Text::splitText — Quebra este nó em dois nós no deslocamento especificado
- Dom\TokenList — A Classe Dom\TokenList
  - Dom\TokenList::add — Adiciona os tokens informados à lista
  - Dom\TokenList::contains — Informa se a lista contém um token específico
  - Dom\TokenList::count — Retorna o número de tokens na lista
  - Dom\TokenList::getIterator — Retorna um iterador sobre a lista de tokens
  - Dom\TokenList::item — Retorna um token da lista
  - Dom\TokenList::remove — Remove da lista os tokens informados
  - Dom\TokenList::replace — Substitui um token por outro na lista
  - Dom\TokenList::supports — Informa se o token informado é suportado
  - Dom\TokenList::toggle — Alterna a presença de um token na lista
- Dom\XMLDocument — A Classe Dom\XMLDocument
- Dom\XPath — A Classe Dom\XPath
- DOM Funções
  - dom_import_simplexml — Obtém um objeto DOMAttr ou DOMElement a partir de um objeto SimpleXMLElement
  - Dom\import_simplexml — Obtém um objeto Dom\Attr ou Dom\Element a partir de um objeto SimpleXMLElement

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open