0

I'm trying to read features from the response of an AJAX request using new ol.format.WMSGetFeatureInfo().readFeatures(parameter).The response format is application/vnd.ogc.gml (XML). The thing is that it works fine in Chrome browser but in Firefox I get an error that the XML is bad formed. Here is the code I'm using:

M.impl.control.getfeatureinfobylayersControl.prototype.formatInfo_ = function (info, formato, layerName) {
var formatedInfo = null;
switch (formato) {
case "text/html": // ex
    var infoContainer = document.createElement("div");
    infoContainer.innerHTML = info;
    Array.prototype.forEach.call(infoContainer.querySelectorAll('a'), function (element) {
        element.setAttribute("target", "_blank");
    });
    formatedInfo = infoContainer.innerHTML;
    break;
case "text/xml":
case "application/vnd.ogc.gml": // ol.format.GML
    //I can store nothing in features because of the error in Firefox
    var features = (new ol.format.WMSGetFeatureInfo()).readFeatures(info);
    formatedInfo = "";
    var this_ = this;
    features.forEach(function (feature) {
    //Do some stuff with the features.......

These are the values of the parameters that the function is receiving:

 var info = "<?xml version="1.0" encoding="ISO-8859-1"?>
 <msGMLOutput 
 xmlns:gml="http://www.opengis.net/gml"
 xmlns:xlink="http://www.w3.org/1999/xlink"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<afecciones_hidrologicas_layer>
<gml:name>Afecciones Hidrol�gicas  </gml:name>
    <afecciones_hidrologicas_feature>
        <gml:boundedBy>
            <gml:Box srsName="EPSG:25830">
                <gml:coordinates>165237.666400,4065901.132100 572504.336900,4264888.750700</gml:coordinates>
            </gml:Box>
        </gml:boundedBy>
        <FID_Afecci>118</FID_Afecci>
        <Nombre_Demarcaci�n>GUADALQUIVIR</Nombre_Demarcaci�n>
        <Nombre_del_Sistema_de_explotaci�n></Nombre_del_Sistema_de_explotaci�n>
        <Nombre_del_Subsistema_de_explotaci�n></Nombre_del_Subsistema_de_explotaci�n>
        <Nombre_de_la_masa_de_agua_subterr�nea></Nombre_de_la_masa_de_agua_subterr�nea>
        <Valor_cualitativo_de_la_masa_de_agua_subterr�nea></Valor_cualitativo_de_la_masa_de_agua_subterr�nea>
        <Valor_cuantitativo_de_la_masa_de_agua_subterr�nea></Valor_cuantitativo_de_la_masa_de_agua_subterr�nea>
        <Valor_global_de_la_masa_de_agua_subterr�nea></Valor_global_de_la_masa_de_agua_subterr�nea>
        <Nivel_de_explotaci�n_de_la_masa_de_agua_subterr�nea></Nivel_de_explotaci�n_de_la_masa_de_agua_subterr�nea>
        <Nombre_de_la_masa_de_agua_superficial></Nombre_de_la_masa_de_agua_superficial>
        <Valor_cualitativo_de_la_masa_de_agua_superficial></Valor_cualitativo_de_la_masa_de_agua_superficial>
        <Valor_cuantitativo_de_la_masa_de_agua_superficial></Valor_cuantitativo_de_la_masa_de_agua_superficial>
        <Valor_global_de_la_masa_de_agua_superficial></Valor_global_de_la_masa_de_agua_superficial>
        <Per�metro_de_Protecci�n_por_cantidad></Per�metro_de_Protecci�n_por_cantidad>
        <Per�metro_de_Protecci�n_por_calidad></Per�metro_de_Protecci�n_por_calidad>
        <PPCAL_DIAS></PPCAL_DIAS>
        <Zona_de_Salvaguarda></Zona_de_Salvaguarda>
        <Zona_protegida_por_captaci�n_de_abastecimiento_futuro></Zona_protegida_por_captaci�n_de_abastecimiento_futuro>
        <Instalaci�n_de_desalaci�n_destinadas_a_consumo></Instalaci�n_de_desalaci�n_destinadas_a_consumo>
        <Zona_localizada_aguas_arriba_de_embalses_o_lagunas></Zona_localizada_aguas_arriba_de_embalses_o_lagunas>
        <BAÑO_ESTA></BAÑO_ESTA>
        <Nombre_zona_LIC></Nombre_zona_LIC>
        <Nombre_zona_ZEPA></Nombre_zona_ZEPA>
        <Nombre_humedal_incluido_en_Inventario_Humedales_Andaluc�a></Nombre_humedal_incluido_en_Inventario_Humedales_Andaluc�a>
        <Nombre_humedal_incluido_en_Inventario_Nacional_Zonas_H�medas></Nombre_humedal_incluido_en_Inventario_Nacional_Zonas_H�medas>
        <Nombre_zona_protegida_convenio_RAMSAR></Nombre_zona_protegida_convenio_RAMSAR>
        <Declaraci�n_zona_RAMSAR_en_BOE></Declaraci�n_zona_RAMSAR_en_BOE>
        <Zona_vulnerable_contaminaci�n_por_nitratos></Zona_vulnerable_contaminaci�n_por_nitratos>
        <Nombre_de_la_zona_de_especial_protecci�n></Nombre_de_la_zona_de_especial_protecci�n>
        <Nombre_de_la_zona_de_protecci�n_especial></Nombre_de_la_zona_de_protecci�n_especial>
        <Nombre_de_la_zona_de_Reserva_Natural_Fluvial></Nombre_de_la_zona_de_Reserva_Natural_Fluvial>
        <Observaciones_a_la_Reserva_Natural_Fluvial></Observaciones_a_la_Reserva_Natural_Fluvial>
        <Nombre_zona_protegida_por_producci�n_de_moluscos_y_otros_invertebrados_marinos></Nombre_zona_protegida_por_producci�n_de_moluscos_y_otros_invertebrados_marinos>
        <Nombre_de_la_zona_de_producci�n_de_peces></Nombre_de_la_zona_de_producci�n_de_peces>
        <Tipo_de_zona_de_producci�n_de_peces></Tipo_de_zona_de_producci�n_de_peces>
        <ZSA_ESTA></ZSA_ESTA>
        <Zona_protegida_por_depuraci�n_aguas_residuales_urbanas></Zona_protegida_por_depuraci�n_aguas_residuales_urbanas>
        <Zona_de_protecci�n_de_aguas_minerales_y_termales></Zona_de_protecci�n_de_aguas_minerales_y_termales>
        <Zona_de_alta_permeabilidad></Zona_de_alta_permeabilidad>
        <Zona_aproximada_de_polic�a_con_alta_permeabilidad></Zona_aproximada_de_polic�a_con_alta_permeabilidad>
    </afecciones_hidrologicas_feature>
</afecciones_hidrologicas_layer>
</msGMLOutput>"

var formato = "application/vnd.ogc.gml";

var layerName = "afecciones_hidrologicas";
  • Firefox tried to parse your XML but the server doesn't return a content type when it fails so it stops re-trying and reports XML is badly formed. However, Chrome doesn't report anything even it does the same. Unfortunately, I don't have much experience with XML and Ajax to help – Moh Feb 19 '18 at 19:01
  • When I check your XML in oXygen I get a (fatal) validation error: Element type "Nombre_Demarcaci" must be followed by either attribute specifications, ">" or "/>", so probably you have issue with character set. – nmtoken Nov 5 '18 at 20:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.