我被困住了!我得到了一个如下所示的 XML:
<ButikerOmbud>
<ButikOmbud>
<Typ>Butik</Typ>
<Nr>1518</Nr>
<Namn/>
<Address1>Kungsgatan 34 C</Address1>
<Address2/>
<Address3>S-441 31</Address3>
<Address4>ALINGSÅS</Address4>
<Address5>Västra Götalands län</Address5>
<Telefon>0322/101 61</Telefon>
<ButiksTyp>Självbetjäning</ButiksTyp>
<Tjanster>Dryckesprovning</Tjanster>
<SokOrd>VÄSTERGÖTLAND;STORKEN,KRISTINEKYRKA</SokOrd>
<Oppettider>...</Oppettider>
<RT90x>6427551</RT90x>
<RT90y>1306408</RT90y>
</ButikOmbud>
<ButikOmbud>
<Typ>Butik</Typ>
<Nr>0704</Nr>
<Namn/>
<Address1>Storgatan 14</Address1>
<Address2/>
<Address3>S-342 30</Address3>
<Address4>ALVESTA</Address4>
<Address5>Kronobergs län</Address5>
<Telefon>0472/124 01</Telefon>
<ButiksTyp>Självbetjäning</ButiksTyp>
<Tjanster/>
<SokOrd>
SMÅLAND;KRONOBERG;ALVESTA JÄRNVÄGSSTATION;ALVESTA KOMMUNHUS
</SokOrd>
<Oppettider>...</Oppettider>
<RT90x>6308791</RT90x>
<RT90y>1423876</RT90y>
</ButikOmbud>
</ButikerOmbud>
我希望能够搜索,即“Gotlands län”,并且我想返回每个<Address1>
、、<Address4>
和<Telefon>
值,或该节点的所有数据,但这三个是目前最重要的数据。
阿贾克斯代码:
$.ajax({
type: "GET",
url: "systembolaget.xml",
dataType: "xml",
success: function (xml) {
var result = $(xml).find("ButikOmbud").filter(function() {
return $(this).find("Address5").text().indexOf('Gotlands län') === 0;
}).each(function() {
alert("THIS: "+this);
});
alert("RESULT: "+result);
},
error: function () {
alert("Ett fel inträffade vid inläsandet av XML-filen");
}
});
我收到了预期数量的对象,但我不知道如何从这些对象中读取数据(alert("THIS: "+this) alers 3 次,xml 包含 'Gotlands län' 3 次)。