jQueryを使用して複数のXMLノードを解析し、結果を1つとして出力することは可能ですか?
たとえば、 http://jqueryui.com/autocomplete/#xmlの例では、name ノードと countryName ノードのみを解析しますが、残り (geonameId、lng、lat、countryCode) を解析して、必要に応じて出力したいと考えています。 .
jQuery
$.ajax({
url: "london.xml",
dataType: "xml",
success: function (xmlResponse) {
var data = $("geoname", xmlResponse).map(function () {
return {
value: $("name", this).text() + ", " + ($.trim($("countryName", this).text()) || "(unknown country)"),
id: $("geonameId", this).text()
};
}).get();
$("#match").autocomplete({
source: data,
minLength: 0,
select: function (event, ui) {
log(ui.item ?
"Selected: " + ui.item.value + ", geonameId: " + ui.item.id :
"Nothing selected, input was " + this.value);
}
});
}
});
XML
<geonames>
<geoname>
<name>London</name>
<lat>51.5084152563931</lat>
<lng>-0.125532746315002</lng>
<geonameId>2643743</geonameId>
<countryCode>GB</countryCode>
<countryName>United Kingdom</countryName>
<fcl>P</fcl>
<fcode>PPLC</fcode>
</geoname>
<geoname>
<name>London</name>
<lat>42.983389283</lat>
<lng>-81.233042387</lng>
<geonameId>6058560</geonameId>
<countryCode>CA</countryCode>
<countryName>Canada</countryName>
<fcl>P</fcl>
<fcode>PPL</fcode>
</geoname>
<geoname>
<name>East London</name>
<lat>-33.0152850934643</lat>
<lng>27.9116249084473</lng>
<geonameId>1006984</geonameId>
<countryCode>ZA</countryCode>
<countryName>South Africa</countryName>
<fcl>P</fcl>
<fcode>PPL</fcode>
</geoname>
</geonames>