DOM XML
A base do XML é o Document Object Model (DOM). Um documento DOM é um conjunto de nós ou blocos de informações organizados hierarquicamente. Por meio dessa estrutura hierárquica, os desenvolvedores podem encontrar informações específicas na árvore de navegação.
DOM (Document Object Model) define métodos padrão para acessar e manipular documentos.
DOM XML
XML DOM (XML Document Object Model) define um método padrão para acessar e manipular documentos XML.
XML DOM vê documentos XML como uma estrutura em árvore.
Todos os elementos podem ser acessados através da árvore DOM. Seu conteúdo pode ser modificado ou excluído e novos elementos criados. Elementos, seu texto e seus atributos são todos considerados nós.
Você pode aprender mais sobre XML DOM em nosso tutorial XML DOM.
DOM HTML
O HTML DOM define métodos padrão para acessar e manipular documentos HTML.
Todos os elementos HTML podem ser acessados através do HTML DOM.
Você pode aprender mais sobre HTML DOM em nosso tutorial HTML DOM. .
Carregar um arquivo XML – exemplo entre navegadores
O exemplo a seguir analisa um documento XML ("note.xml") em um objeto XML DOM e depois extrai algumas informações via JavaScript:
Exemplo
<html><body><h1>Nota interna do W3Cschools</h1><div><b>Para:</b> <span id="to"></span><br /><b>De:< /b> <span id="from"></span><br /><b>Mensagem:</b> <span id="message"></span></div><script>if (janela .XMLHttpRequest){// código para IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}else{// código para IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.open("GET","note.xml",false);xmlhttp.send();xmlDoc=xmlhttp.responseXM L;document.getElementById("to").innerHTML=xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;document.g etElementById("de").innerHTML=xmlDoc.getElementsByTagName("de")[0].childNodes[0].nodeValue;document.getElemen tById("mensagem").innerHTML=xmlDoc.getElementsByTagName("corpo")[0].childNodes[0].nodeValue;</script></body></html>Experimente »Nota importante!
Para extrair o texto "Tove" do elemento <to> do arquivo XML acima ("note.xml"), a sintaxe é:
getElementsByTagName("to")[0].childNodes[0].nodeValueObserve que mesmo que o arquivo XML contenha apenas um elemento <to>, você ainda deverá especificar o índice da matriz [0]. Isso ocorre porque o método getElementsByTagName() retorna um array.
Carregar uma string XML – exemplo entre navegadores
O exemplo a seguir analisa uma string XML em um objeto XML DOM e depois extrai algumas informações via JavaScript:
Exemplo
<html><body><h1>Nota interna do W3Cschools</h1><div><b>Para:</b> <span id="to"></span><br /><b>De:< /b> <span id="from"></span><br /><b>Mensagem:</b> <span id="message"></span></div><script>txt="<note>";txt=txt+"<to>Tove</to>";txt=txt+"<from>Jani</from >";txt=txt+"<heading>Lembrete</heading>";txt=txt+"<body>Não se esqueça disso fim de semana!</body>";txt=txt+"</note>";if (window.DOMParser){parser=new DOMParser();xmlDoc=parser.parseFromString(txt,"text/xml");}else / /Internet Explorer{xmlDoc=novo ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.loadXML(txt);}document.getElementById("to").innerHTML=xmlDoc.getElementsByTagName("to")[0].childNodes[0] .nodeValue;document.getElementById("de" ).innerHTML=xmlDoc.getElementsByTagName("de")[0].childNodes[0].nodeValue;document.getElementById("mensagem").innerHTML=xmlDoc.getElementsByTagName("corpo")[0].childNodes[0] .nodeValue;</script></body></html>Experimente »
Na próxima seção, você aprenderá como exibir dados XML em uma página HTML.