I was actually struggling with this same problem this past month.
You should use:

var xmlResponse = new OpenLayers.Format.XML().read(response.responseText);

this will convert the text into a valid xml object.
>From there you can do whatever you want to it.

I am writing some convience methods that extend OpenLayers.Format.GML to
parse the GML GetFeatureInfo response into predictable js objects. The
current methods for Format.GML & Format.WFS are not designed to correctly
parse the entire GML GetFeatureInfo response. They can parse some geometry
or features from portions of the response.

Matt Priour
Kestrel Computer Consulting
www.kestrelcompter.com - homepage
priour.wordpress.com - blog


Eric Lemoine-3 wrote:
> 
> Hi. Have you tried using OpenLayers.Format.GML for de-serializing the
> response text into feature objects? Eric
> 
> 2008/7/8, Rick Wayne <[EMAIL PROTECTED]>:
>> Hullo all,
>>
>> I'm using OpenLayers and GeoServer, and am having some trouble with
>> getting XML data out of GetFeatureInfo. If I ask GeoServer for
>> INFO_FORMAT of application/vnd.ogc.gml, I get a response back, and it
>> has the data I desire. But I cannot access those data as XML. I have
>> to get them via responseText and parse that looking for angle brackets
>> and the like, which is all very boring, not to say fragile as a dried
>> leaf.
>>
>> Of course, I should be able to make use of the responseXML property,
>> but that obstinately persists in being NULL, even when the text
>> response is fine. In fact, the text response is perfectly good XML. As
>> a big honkin' string.
>>
>> I'm using GeoServer 1.5.3 and, er, whichever OL version came with
>> that. :-)
>>
>> Below are the relevant calls. If anyone can assuage my ignorance, good
>> cheer to them!
>>
>> TIA,
>>
>> Rick Wayne
>> UW Soil Science
>>
>>          [...]
>>      map.events.register('click', map, function (e) {
>>              var url =  map.baseLayer.getFullRequestString({
>>                      REQUEST: "GetFeatureInfo",
>>                      EXCEPTIONS: "application/vnd.ogc.se_xml",
>>                      BBOX: map.getExtent().toBBOX(),
>>                      X: e.xy.x,
>>                      Y: e.xy.y,
>>                      INFO_FORMAT: 'application/vnd.ogc.gml',
>>                      // INFO_FORMAT: 'text/plain',
>>                      QUERY_LAYERS: map.baseLayer.params.LAYERS,
>>                      FEATURE_COUNT: 1,
>>                      srs: 'EPSG:26916',
>>                      styles: '',
>>                      layers: 'mmas:civil',
>>                      WIDTH: map.size.w,
>>                      HEIGHT: map.size.h},
>>                      "/geoserver/wms"
>>        );
>>              OpenLayers.loadURL(url, '', this, zoomToFeature, zoomToFeature);
>>              Event.stop(e);
>>      });
>>
>> function zoomToFeature(response) {
>>      // lines = response.responseText.split('\n');
>>      var txt;
>>      var tag;
>>      var coord_index;
>>      var rest;
>>      var coord_text;
>>      var coords;
>>      var coord_pairs,ll,ur;
>>
>>      txt = response.responseText; // here should be xml =
>> response.responseXML;
>>      tag = 'gml:coordinates decimal="." cs="," ts=" ">';
>>      coord_index = txt.indexOf(tag);
>>      rest = txt.substr(coord_index + tag.length);
>>      end_coord_index = rest.indexOf('<');
>>          // And so on, too ugly to reveal the rest!
>>
>>
>> _______________________________________________
>> Users mailing list
>> [email protected]
>> http://openlayers.org/mailman/listinfo/users
>>
> _______________________________________________
> Users mailing list
> [email protected]
> http://openlayers.org/mailman/listinfo/users
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Difficulties-with-GetFeatureInfo-tp18347813p18353488.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to