Ler XML com Javascript (crossbrowser)
Seguinte, galera, criei esse XML
<?xml version="1.0" encoding="ISO-8859-1" ?><menu> <itemMenu><![CDATA[Editais]]> <subItemMenu> <titulo><![CDATA[Licitações]]></titulo> <url><![CDATA[editais/licitacoes/]]></url> <target>conteudo</target> </subItemMenu> <subItemMenu> <titulo><![CDATA[Concursos]]></titulo> <url><![CDATA[concursos.htm]]></url> <target>conteudo</target> </subItemMenu> </itemMenu> <itemMenu><![CDATA[Outros]]> <subItemMenu> <titulo><![CDATA[Links]]></titulo> <url><![CDATA[endereços-links.htm]]></url> <target>conteudo</target> </subItemMenu> <subItemMenu> <titulo><![CDATA[Área Restrita]]></titulo> <url><![CDATA[Restrito/]]></url> <target>conteudo</target> </subItemMenu> </itemMenu> </menu>
Agora eu queria ler esse XML pelo javascript... eu criei uma função que carrega ele:
function loadXMLMenu(_div, url){ if (window.ActiveXObject) { XMLDoc = new ActiveXObject("Microsoft.XMLDOM"); XMLDoc.async=false; XMLDoc.load(url); montaMenuXML() } else if (document.implementation && document.implementation.createDocument){ XMLDoc= document.implementation.createDocument("","",null); XMLDoc.load(url); XMLDoc.onload=montaMenuXML } else { document.getElementById(_div).innerHTML = "Erro ao carregar menu a partir de um XML" }}
Agora como eu faço pra ler esse XML?? Mas eu não posso perder a hierarquia... no W3schools tem vários exemplos mas todos usando o parser do Internet Explorer, mas eu queria fazer um loop pegando a hierarquia, q nem eu faço com o childNodes pra pegar as tags HTML... e tinha q ser crossbrowser...
Eu queria tipo a cada <itemmenu>, corre os <subItemMenu>, tipo um for dentro de outro, pq a ação varia dentro essa estrutura... eu não posso dar XMLDoc.getElementsByTagName("subItemMenu") porque eu dai não sei pra qual <itemmenu> ele é!!
Como eu posso fazer isso??
varrer o XML mas dentro da hierarquia...
valeu!! :D
Discussão (5)
Carregando comentários...