Thanks Bart, I will give that a try. Openlayers sure requires a lot more code than the Google Maps API XML parser!
Cheers, Mark Bart van den Eijnden wrote: > > 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 > > -- View this message in context: http://www.nabble.com/XML-Parsing-via-OpenLayers--tp19861923p19864105.html Sent from the OpenLayers Users mailing list archive at Nabble.com. _______________________________________________ Users mailing list Users@openlayers.org http://openlayers.org/mailman/listinfo/users