Az alábbi kis javascript kóddal lehet egy xml objektumot(fájlt) letölteni és feldolgozni

Az xml dokumentum lekérése

function loadXMLDoc(dname)
{
var xmlDoc;
// code for IE
if (window.ActiveXObject)
{
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else
{ // code for Mozilla, Firefox, Opera, etc.
  if (document.implementation && document.implementation.createDocument)
  {
    xmlDoc=document.implementation.createDocument("","",null);
  }
  else
  {
    alert('Your browser cannot handle this script');
  }
}
xmlDoc.async=false;
xmlDoc.load(dname);
cleanWhitespace(xmlDoc); // itt törlöm a white space karaktereket
return(xmlDoc);
};

lekérem az webpage xml-ből az adatokat egy tömbbe

function XMLtoArray(webpage)
{
var data=new Array();
try {
     xmlDoc=loadXMLDoc(webpage);
     var x=xmlDoc.documentElement;
     //document.location.href = webpage;
	 for (j=0;j<x.childNodes[0].childNodes.length;j++)
     {
       data[x.childNodes[0].childNodes[j].getAttribute("name")] =
	     x.childNodes[0].childNodes[j].childNodes[0].nodeValue;
	 }
	 return data;
	 }
catch(err)
    {
	  return data
	};
};

Amikor ezt a scriptet írtam, a firefox még nem volt képes feldolgozni az xml fájlt, ha az white space karaktereket tartalmazott. Azóta nem tudom, hogy változott-e, de íme a kód, ami törli és amire az első függvényünk hivatkozik:

var notWhitespace = /\S/
function cleanWhitespace(node) {
  for (var x = 0; x < node.childNodes.length; x++) {
    var childNode = node.childNodes[x]
    if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue)))
	{	// that is, if it's a whitespace text node
	  node.removeChild(node.childNodes[x]);
      x--;
    }
    if (childNode.nodeType == 1)
	{ // elements can have text child nodes of their own
      cleanWhitespace(childNode)
    }
  }
}

Teszt

Legyen ez a teszt.xml fájlunk. Mint látható 2 mezőt tartalmaz: város és irányítószám.

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<select>
<record id='1'>
<field name='varos' type='string'><![CDATA[Budapest]]></field>
<field name='iraszam' type='int'>1131</field>
</record>
</select>

tesztlejük le, hogy működik-e. Tegyük be a javascript függvényeket egy xmldom.js nevű fájlba. És hozzuk létre az alábbi html fájlt (index.html):

<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <script type="text/javascript" src="xmldom.js"></script>
 <script type="text/javascript">
 console.log(XMLtoArray("/teszt.xml"));
 </script>
</head>
<body></body>
</html>

A console.log használatához szükségünk lesz a Firefox Firebug nevű kiegészítőjére. Annak a konzolján fog megjelenni a tömb.