AJAX / jQuery的XML解析 [英] AJAX / Jquery XML parse

查看:147
本文介绍了AJAX / jQuery的XML解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图解析以下类型的XML(从getMembers.php数据):

 < XML版本=1.0编码=ISO-8859-1&GT?;
<成员>
   < ID> 3422345< / ID>
   <名称>比尔·盖茨< /名称>
   < ID> 232311< / ID>
   <名称>鲍勃巴克< /名称>
< /会员>
 

和我用下面这个code解析是:

 <脚本类型=文/ JavaScript的SRC =htt​​p://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js >< / SCRIPT>
    <脚本类型=文/ JavaScript的>
    $(文件)。就绪(函数(){
        $阿贾克斯({
            键入:GET,
            网址:getMembers.php
            缓存:假的,
            数据类型:XML,
            成功:函数(XML){
                $(XM​​L).find('会员')。每个(函数(){
                    变种名称= $(本).find(名)。文本()
                    警报(名称);
                });
            }
        });
    });
< / SCRIPT>
 

没有错误,但我同时获得这两个名字。

像:

  

比尔GatesBob巴克< - 第一环>

相反

  

比尔·盖茨< - 第一环>

     

鲍勃巴克< - 第二环>

任何帮助将是巨大的!

大卫

解决方案

我想你遍历成员,而不是名称:

 成功:功能(XML){
                $(XM​​L).find('会员')。每个(函数(){
                    $(本).find(名)。每个(函数(){
                        变种名称= $(本)的.text();
                        警报(名称);
                    });
                });
            }
 

或者,也许你的XML应该是这样的:

 <成员>
   < ID> 3422345< / ID>
   <名称>比尔·盖茨< /名称>
< /会员>
<成员>
   < ID> 232311< / ID>
   <名称>鲍勃巴克< /名称>
< /会员>
 

I am trying to parse the following type of XML (data from getMembers.php):

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
   <id>3422345</id>
   <name>Bill Gates</name>
   <id>232311</id>
   <name>Bob Barker</name>
</members>

And i am using this code below to parse that:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "GET",
            url: "getMembers.php",
            cache: false,
            dataType: "xml",
            success: function(xml) {
                $(xml).find('members').each(function(){
                    var name = $(this).find("name").text()
                    alert(name);
                });
            }
        });
    });
</script>

No errors but i am getting both names at the same time..

Like:

Bill GatesBob Barker <--first loop>

Instead of

Bill Gates <--first loop>

Bob Barker <--second loop>

Any help would be great!

David

解决方案

I think you iterate over members, not names:

success: function(xml) {
                $(xml).find('members').each(function(){
                    $(this).find("name").each(function(){
                        var name = $(this).text();
                        alert(name);
                    });
                });
            }

Or maybe your XML should looks like:

<members>
   <id>3422345</id>
   <name>Bill Gates</name>
</members>
<members>
   <id>232311</id>
   <name>Bob Barker</name>
</members>

这篇关于AJAX / jQuery的XML解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆