analizzare la risposta xml con jQuery

Ciao a tutti,
Io uso jQuery per analizzare le mie risposte xml.

Ho questo xml:

  185  

E voglio ottenere il valore “client_id”.

Per prima cosa, fai una richiesta per XML con $ .get o come vuoi. Poi:

 clientID = $(myXML).find("client_id").text(); 

Per correggere il tipo di dati di risposta previsto in XML direttamente nella richiesta, impostare il parametro dataType su “xml”. In caso contrario, jQuery utilizza le intestazioni di risposta per indovinare.

È supportato sulla funzione $.ajax() come parte dell’object options , così come su $.get() e $.post() :

 jQuery.ajax( options ) jQuery.get( url, data, callback, type ) jQuery.post( url, data, callback, type ) 

Quindi potresti farlo:

 $.ajax({ type: 'GET', url: "foo.aspx", data: { key: "value" }, dataType: "xml", success: function (xml){ var clientid = $(xml).find('client_id').first().text(); alert(clientid); } }); 

Nota che da jQuery 1.5 puoi usare una versione più carina della richiesta Ajax di cui sopra:

 $.get("foo.aspx", { key: "value" }) .done(function (xml){ var clientid = $(xml).find('client_id').first().text(); alert(clientid); }); 

Usa qualcosa del genere:

 $.ajax({ type: 'GET', url: 'test.xml', dataType: 'xml', success: function(xml){ $('response', xml).each(function() {alert($(this).find('client_id').text());}); }}); 

solo per completare, io uso $ .get:

 $.get($('file.xml').val(),{ } , doSomethingWithData); 

function doSomethingWithData (data) {

  $(data).find("marker").each(function() { var marker = $(this); alert(marker.attr("lat")); }); 

qui tpicall usa request.responseXML è il dato in questo caso, e devi incapsularlo in $ (dati) per funzionare (questo mi fa spezzare la testa circa 3 ore; S)

  // alert(markerh); }