JAVASCRIPT » XML and Javascript

  Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg

XML Parser for JavaScript-xml2array

XML Parser for JavaScript - xml2array()

xml2array() parses the given XML document and return the data in an associative array.

See Demo.


XmlHttp.onreadystatechange = function() {
	if(XmlHttp.readyState == 4 && XmlHttp.status == 200) {
		var arr = xml2array(XmlHttp.responseXml);
		// Do what you want with 'arr'

Just load the XML file using the method you are most comfortable with and then call the xml2array function with the XML object as the argument.


The code is given in the xml2array.js file. It is a bit ugly - but it gets the job done. This file also includes the code for the xjx library and the dump function(Javascript equivalent of PHP's print_r function).

The code is somewhat big(100 lines of code) so I am not putting it in this page - just have a look at the js file for the code. You need just the xml2array() function and the two global variables at top - there are two other functions there - just ignore them.


There are some problems with the script - but this just the first release so it is to be expected.

I have only tested the script in the following browsers. Please let me know how the script worked in other browser's.

  • Firefox 1.5 in Linux
  • Firefox 1.5 in Windows
  • IE 6 in Windows
  • Mozilla in Linux

Another problem is that the scripts runs into trouble when such details like XML version(<?xml version="1.0"?>) or stylesheet information(<?xml-stylesheet type="text/xsl" href="softwares.xsl" ?>) or some other extra infomation like <!DOCTYPE programs SYSTEM "softwares.dtd"> is there in the XML file. I am hopping this will not be much of a problem as this script is aimed for use with Ajax responses in XML format - so we can safely assume that there will not be any 'stylesheet' information in it


Related Scripts

Free   Version: n/a   Platform(s): All   Updated:  July 26, 2008

Developer:Xml2array Demo Download  
Rated by: 1 user(s)  
Follow Navioo On Twitter

Submit a resource