DOM XML

O que é DOM?

O Document Object Model (DOM) define padrões para acessar e operar documentos:

"O W3C Document Object Model (DOM) é uma interface independente de plataforma e linguagem que permite que programas e scripts acessem e atualizem dinamicamente o conteúdo, estrutura e estilo do documento."

HTML DOM Define métodos padrão para acessar e operar documentos HTML. Ele apresenta o documento HTML como uma estrutura em árvore.

DOM XML Define métodos padrão para acessar e operar documentos XML. Ele apresenta o documento XML como uma estrutura em árvore.

Para qualquer desenvolvedor que use HTML ou XML, entender o DOM é obrigatório.

HTML DOM

Todos os elementos HTML podem ser acessados através do HTML DOM.

O exemplo a seguir altera o valor do elemento HTML com id="demo":

Exemplo

<h1 id="demo">Esta é o título</h1>
<button type="button" onclick="document.getElementById('demo').innerHTML = 'Hello World!'">
Clique em mim!
</button>

Experimente

Você pode aprender mais sobre HTML DOM para mais informações.

DOM XML

Todos os elementos XML podem ser acessados através do XML DOM.

Books.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="美食">
    <title lang="zh">雅舍谈吃</title>
    <author>梁实秋</author>
    <year>2013</year>
    <price>35</price>
  </book>
  <book category="儿童">
    <title lang="zh">了不起的狐狸爸爸</title>
    <author>罗尔德·达尔</author>
    <year>2009</year>
    <price>10.00</price>
  </book>
</bookstore>

Este código recupera o valor de texto do primeiro elemento <title> do documento XML:

Exemplo

txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

O XML DOM é um padrão sobre como obter, alterar, adicionar e excluir elementos XML.

Este exemplo carrega uma string de texto para um objeto DOM XML e usa JavaScript para extrair informações dele:

Exemplo

<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>"
"<title>雅舍谈吃</title>" +
"<author>梁实秋</author>" +
"<year>2009</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>

Experimente

Você aprenderá sobre DOM XML Mais Conteúdo.