使用JQuery解析具有名称空间的xml并适用于所有浏览器..

切萨雷

我正在尝试使用JQuery 1.11解析服务的XML响应

目前,我的代码有效,但仅在Chrome中有效,不适用于IE或Firefox,我需要它对所有“现代”浏览器均有效。

这是我的XML示例

<?xml version='1.0' encoding="ISO-8859-1" ?>
<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 fid="IN.NUMERICIVICI.2012.2736621">
        <gml:boundedBy>
            <gml:Box srsName="EPSG:4326">
                <gml:coordinates>7.735397,44.812403 7.735397,44.812403</gml:coordinates>
            </gml:Box>
        </gml:boundedBy>
        <ms:boundary>
        <gml:Point srsName="EPSG:4326">

          <gml:coordinates>7.735397,44.812403</gml:coordinates>
        </gml:Point>
        </ms:boundary>
        <ms:id>13800026457290</ms:id>
        <ms:nome>Borgata Tetti Sotto</ms:nome>
        <ms:civico>25</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>

这是我的代码

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

$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(item).text();
}

extractedFeatures.push(feature);
});

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

在这里,你是我的jsfiddle所以你可以尝试它

有什么建议或解决方法吗?提前非常感谢您...

切萨雷

南瓜先生

您必须小心使用命名空间...如果您使用具有某些命名空间声明的XML,则必须牢记它并构建适当的选择器。

例如:

$features = $('gml\\:featureMember, featureMember', $xmlData),

请看一下更新小提琴现在,它也可以在FF和IE中使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用JQuery解析具有名称空间的xml(并适用于所有浏览器..)?

来自分类Dev

如何使用JQuery解析具有名称空间的xml(并适用于所有浏览器..)?

来自分类Dev

如何使Javascript适用于所有浏览器

来自分类Dev

网站宽度jquery.scollto插件不适用于所有移动浏览器

来自分类Dev

是否有可能使kubernetes入口treafik适用于所有名称空间

来自分类Dev

我应该使用什么来确保CSS适用于所有浏览器?

来自分类Dev

带有名称空间的jQuery浏览器事件名称

来自分类Dev

jQuery条件适用于所有浏览器(野生动物园除外)

来自分类Dev

适用于所有主要浏览器的视频编解码器

来自分类Dev

我安装的字体(@ font-face)不适用于所有浏览器-仅适用于Chrome

来自分类Dev

Javascript 不适用于 Internet Explorer,但适用于所有其他浏览器。为什么?

来自分类Dev

如何像使用innerText一样获取文本,但适用于所有浏览器

来自分类Dev

favicon /适用于所有浏览器和设备的启动屏幕

来自分类Dev

适用于所有浏览器的CSS关键帧动画吗?

来自分类Dev

侧翼渐变的居中图片不适用于所有浏览器

来自分类Dev

event.stopImmediatePropagation(); 适用于除Firefox以外的所有浏览器

来自分类Dev

此代码在IE中均适用于所有其他浏览器

来自分类Dev

样式聚合物-适用于所有浏览器

来自分类Dev

适用于所有浏览器的语音识别API

来自分类Dev

Office.EventType.DocumentSelectionChanged(在Excel中)不适用于所有Web浏览器

来自分类Dev

CSS径向渐变规则适用于除Firefox以外的所有浏览器

来自分类Dev

表单提交按钮不适用于所有浏览器

来自分类Dev

适用于所有浏览器的CSS关键帧动画吗?

来自分类Dev

如何创建适用于所有浏览器的CSS代码?

来自分类Dev

Web应用程序翻译不适用于所有浏览器

来自分类Dev

如何获得适用于所有浏览器(IE10 +)的这种格式的div?

来自分类Dev

CSS3渐变不适用于所有浏览器

来自分类Dev

JavaScript排序回调不适用于所有浏览器

来自分类Dev

高度 100% 不适用于所有浏览器

Related 相关文章

  1. 1

    如何使用JQuery解析具有名称空间的xml(并适用于所有浏览器..)?

  2. 2

    如何使用JQuery解析具有名称空间的xml(并适用于所有浏览器..)?

  3. 3

    如何使Javascript适用于所有浏览器

  4. 4

    网站宽度jquery.scollto插件不适用于所有移动浏览器

  5. 5

    是否有可能使kubernetes入口treafik适用于所有名称空间

  6. 6

    我应该使用什么来确保CSS适用于所有浏览器?

  7. 7

    带有名称空间的jQuery浏览器事件名称

  8. 8

    jQuery条件适用于所有浏览器(野生动物园除外)

  9. 9

    适用于所有主要浏览器的视频编解码器

  10. 10

    我安装的字体(@ font-face)不适用于所有浏览器-仅适用于Chrome

  11. 11

    Javascript 不适用于 Internet Explorer,但适用于所有其他浏览器。为什么?

  12. 12

    如何像使用innerText一样获取文本,但适用于所有浏览器

  13. 13

    favicon /适用于所有浏览器和设备的启动屏幕

  14. 14

    适用于所有浏览器的CSS关键帧动画吗?

  15. 15

    侧翼渐变的居中图片不适用于所有浏览器

  16. 16

    event.stopImmediatePropagation(); 适用于除Firefox以外的所有浏览器

  17. 17

    此代码在IE中均适用于所有其他浏览器

  18. 18

    样式聚合物-适用于所有浏览器

  19. 19

    适用于所有浏览器的语音识别API

  20. 20

    Office.EventType.DocumentSelectionChanged(在Excel中)不适用于所有Web浏览器

  21. 21

    CSS径向渐变规则适用于除Firefox以外的所有浏览器

  22. 22

    表单提交按钮不适用于所有浏览器

  23. 23

    适用于所有浏览器的CSS关键帧动画吗?

  24. 24

    如何创建适用于所有浏览器的CSS代码?

  25. 25

    Web应用程序翻译不适用于所有浏览器

  26. 26

    如何获得适用于所有浏览器(IE10 +)的这种格式的div?

  27. 27

    CSS3渐变不适用于所有浏览器

  28. 28

    JavaScript排序回调不适用于所有浏览器

  29. 29

    高度 100% 不适用于所有浏览器

热门标签

归档