Maybe you can try and create your own Format class, something like: /** * @requires OpenLayers/Format/XML.js * */ OpenLayers.Format.MyFormat = OpenLayers.Class( OpenLayers.Format.XML, { initialize: function(options) { OpenLayers.Format.XML.prototype.initialize.apply(this, [options]); this.options = options; },
read: function(data) { if(typeof data == "string") { data = OpenLayers.Format.XML.prototype.read.apply(this, [data]); } // do your stuff here, it's just an example var root = data.documentElement; var children = root.childNodes; for(var i = 0; i < children.length; ++i) { childNode = children[i]; var nodeName = childNode.nodeName; if (nodeName == 'Toolbar') { this.parseToolbar(childNode); } } // return your array here }, CLASS_NAME: "OpenLayers.Format.MyFormat" }); And then: OpenLayers.loadURL(myURL, "", null, function(response) { var format = new OpenLayers.Format.MyFormat(); var myArray = format.read(response.responseXML || response.responseText); console.log(myArray); }); Best regards, Bart Maps-R-us wrote: > Thank you Bart, > > I actually do this in my loadSuccess function: > > function loadSuccess(request) { > > updateStatus("loaded"); > if(!request.responseXML.documentElement) { > doc = format.read(request.responseText); > } else { > doc = request.responseXML; > } > } > > Is this correct? > > M > > Bart van den Eijnden wrote: > >> You need to parse the XML in the loadSuccess function, check >> examples/GMLParser.html for an example. >> >> Best regards, >> Bart >> >> Maps-R-us wrote: >> >>> Hi there, >>> >>> I would like to retrieve elements in an xml file based on tag name and >>> populate an array. Here is a sample of the XML: >>> >>> <users> >>> <user> >>> <fullname>Test</fullname> >>> <ID>3400</ID> >>> <lat>0.003926753994724706</lat> >>> <lon>0.00446319580078125</lon> >>> >>> <image>http://40.media.vimeo.com/d1/5/35/85/81/portrait-35858134.jpg</image> >>> <floor>3</floor> >>> </user> >>> </users> >>> >>> My code fails on the getElementsByNameNS() >>> >>> >>> var format = new OpenLayers.Format.XML(); >>> var doc = null; >>> var url = "officedata.xml"; >>> OpenLayers.loadURL(url, null, null, loadSuccess, loadFailure); >>> var attributeValue = []; >>> var attributeValue[1] = format.getElementsByTagNameNS(doc, >>> '*','fullname'); >>> alert (attributeValue[1]); >>> >>> Any ideas? >>> >>> Thank you in advance, >>> >>> M >>> >>> >>> >> -- >> Bart van den Eijnden >> OSGIS, Open Source GIS >> [EMAIL PROTECTED] >> http://www.osgis.nl >> >> _______________________________________________ >> Users mailing list >> Users@openlayers.org >> http://openlayers.org/mailman/listinfo/users >> >> >> > > -- Bart van den Eijnden OSGIS, Open Source GIS [EMAIL PROTECTED] http://www.osgis.nl _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users