jQuery没有正确解析嵌套XML

时间:2011-02-10 00:45:01

标签: jquery xml ajax parsing

我正在解析我的xml中的数据,如下所示:

<departuresData> 
<station> 
  <id>29411</id> 
  <name>Kúpalisko Matador</name> 
  <distance>182</distance> 
  <vehicle> 
    <number>180</number> 
    <time>10:26</time> 
    <time>10:56</time> 
    <target>Holíčska</target> 
    <lineid>289</lineid> 
    <type>BUS</type> 
  </vehicle> 
  <vehicle> 
    <number>180</number> 
    <time>10:17</time> 
    <time>10:47</time> 
    <target>Cintorín Petržalka</target> 
    <lineid>288</lineid> 
    <type>BUS</type> 
  </vehicle> 
</station> 
<station> 
  <id>30122</id> 
  <name>Kúpalisko Matador</name> 
  <distance>201</distance> 
  <vehicle> 
    <number>80</number> 
    <time>10:09</time> 
    <time>10:33</time> 
    <target>Kollárovo nám.</target> 
    <lineid>220</lineid> 
    <type>BUS</type> 
  </vehicle> 
  <vehicle> 
    <number>80</number> 
    <time>10:02</time> 
    <time>10:26</time> 
    <target>Kúpalisko Matador</target> 
    <lineid>222</lineid> 
    <type>BUS</type> 
  </vehicle> 
</station> 
<departuresData>

我的解析jquery看起来像:

success: function(xml) {
 $(xml).find("station").each(function()
  {

    //vydolovanie hodnot
    var name = $(this).find("name").text();
    var distance = $(this).find("distance").text();
    $("#response").append("Zastavka:" + name + "<br />Vzdialenost:" + distance + "<br />");  //vypis

    $(this).find("vehicle").each(function(){

        var number = $(this).find("number").text();
        var target = $(this).find("target").text();
        var type = $(this).find("type").text();

            $("#response").append("Linka cislo: " + number + "<br />Smer: " + target + "<br />Druh: " + type + "<br />Časy:<br />");
        $(this).find("time").each(function()
        {
            $("#response").append($(this).text() + "<br />"); //vypis
        });

        $("#response").append("1<br /><br />"); //vypis

    });

    $("#response").append("<br />");
  });

}

但它只是到达距离,当它因某种原因必须查看每个车辆部件时,它无法获得数量,时间等信息。而且它不会遍历一个站标签中的所有车辆标签。

输出如下:

Zastavka:Kúpalisko Matador
Vzdialenost:198
Linka cislo: 
Smer: 
Druh: 
Časy:

1


Zastavka:Kúpalisko Matador
Vzdialenost:201
Linka cislo: 
Smer: 
Druh: 
Časy:

1

1 个答案:

答案 0 :(得分:0)

实际上,仔细看看你的第一个输出:

Vzdialenost:198 

表示距离是198.但是,你的xml的距离不是198。 有

<distance>182</distance> 

<distance>201</distance> 

所以要么你粘贴了错误的问题,要么你实际上没有从正确的xml中读取。