JSFiddle - React, Tailwind, and code Playground

by Aleksey Pshenichnov

HTML

<script type="text/xml" id="featureData">
    <wfs:FeatureCollection
       xmlns:ms="http://mapserver.gis.umn.edu/mapserver"
       xmlns:wfs="http://www.opengis.net/wfs"
       xmlns:gml="http://www.opengis.net/gml"
       xmlns:ogc="http://www.opengis.net/ogc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd 
                           http://mapserver.gis.umn.edu/mapserver http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/wfs/Numeri_Civici_2012.map&amp;SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=IN.NUMERICIVICI.2012&amp;OUTPUTFORMAT=XMLSCHEMA">
          <gml:boundedBy>
            <gml:Box srsName="EPSG:4326">
                <gml:coordinates>7.700007,44.802147 7.749396,44.849996</gml:coordinates>
            </gml:Box>
          </gml:boundedBy>
        <gml:featureMember>
          <ms:IN.NUMERICIVICI.2012 fid="IN.NUMERICIVICI.2012.2728384">
    
            <gml:boundedBy>
                <gml:Box srsName="EPSG:4326">
                    <gml:coordinates>7.735138,44.810267 7.735138,44.810267</gml:coordinates>
                </gml:Box>
            </gml:boundedBy>
            <ms:boundary>
            <gml:Point srsName="EPSG:4326">
              <gml:coordinates>7.735138,44.810267</gml:coordinates>
    
            </gml:Point>
            </ms:boundary>
            <ms:id>13800026457291</ms:id>
            <ms:nome>Borgata Tetti Sotto</ms:nome>
            <ms:civico>16</ms:civico>
            <ms:istat>01004041</ms:istat>
            <ms:cap>12030</ms:cap>
    
            <ms:comune>CARAMAGNA PIEMONTE</ms:comune>
            <ms:nome_ted> </ms:nome_ted>
            <ms:provincia>CUNEO</ms:provincia>
            <ms:regione>PIEMONTE</ms:regione>
          </ms:IN.NUMERICIVICI.2012>
        </gml:featureMember>
        <gml:featureMember>
    
          <ms:IN.NUMERICIVICI.2012...

JavaScript

var xmlText = $('#featureData').text(),
    $xmlData = $.parseXML(xmlText),
    $features = $('gml\\:featureMember, featureMember', $xmlData),
    extractedFeatures = [];

console.log($features.length)

$features.each(function () {
    var $this = $(this),
        feature = {},
        items = [
            'nome',
            'civico',
            'istat',
            'cap',
            'comune'
        ],
        item;
    
    for (var i = 0; i < items.length; i++) {
        item = items[i];
        feature[item] = $this.find('ms\\:' + item + ', ' + item).text();
    }
    
    extractedFeatures.push(feature);
});

$('#output').text(JSON.stringify(extractedFeatures));