こんにちは、みんな、
私はjQueryを使用してxml応答を解析します。
私はこのxmlを持っています:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
<client_id>185</client_id>
</response>
そして、「client_id」値を取得したいと思います。
最初に、$。getまたは必要に応じてXMLをリクエストします。次に:
clientID = $(myXML).find("client_id").text();
リクエストで予期される応答データタイプをXMLに修正するには、dataType
パラメータを "xml"に設定します。そうでない場合、jQueryは応答ヘッダーを使用して推測します。
$.ajax()
関数ではoptions
オブジェクトの一部としてサポートされており、$.get()
および$.post()
でもサポートされています。
jQuery.ajax( options )
jQuery.get( url, data, callback, type )
jQuery.post( url, data, callback, type )
だからこれを行うことができます:
$.ajax({
type: 'GET',
url: "foo.aspx",
data: {
key: "value"
},
dataType: "xml",
success: function (xml){
var clientid = $(xml).find('client_id').first().text();
alert(clientid);
}
});
JQuery 1.5以降では、上記のAjaxリクエストのより良いバージョンを使用できることに注意してください。
$.get("foo.aspx", {
key: "value"
})
.done(function (xml){
var clientid = $(xml).find('client_id').first().text();
alert(clientid);
});
このようなものを使用してください:
$.ajax({ type: 'GET', url: 'test.xml', dataType: 'xml', success: function(xml){
$('response', xml).each(function() {alert($(this).find('client_id').text());});
}});
補足すると、$。getを使用します。
$.get($('file.xml').val(),{ } , doSomethingWithData);
function doSomethingWithData(data){
$(data).find("marker").each(function() {
var marker = $(this);
alert(marker.attr("lat"));
});
ここでtpicallが使用するrequest.responseXMLはこの場合のデータであり、動作させるには$(data)にカプセル化する必要があります(これにより、3時間ほど頭が壊れます; S)
// alert(markerh);
}