Un regolare $.ajax
con dataType: "xml"
farà il trucco, allora è possibile sfogliare i contenuti con i selettori di jQuery come se fosse una semplice pagina web (ad esempio, la funzione attr
nell'esempio per recuperare il "codice" campo di ciascun nodo libro o la funzione find
per trovare tipi di nodi specifici).
Ad esempio, si potrebbe fare questo per trovare un libro specifico per titolo:
$(xml).find("book[title='Cinderella']")
dove xml
sono i dati del gestore success
riceve da $.ajax
.
Ecco l'esempio completo:
<!DOCTYPE html>
<html>
<head>
<title>jQuery and XML</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body
<div id="output"></div>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "GET",
dataType: "xml",
url: "example.xml",
success: function(xml){
$(xml).find("book").each(function(){
$("#output").append($(this).attr("code") + "<br />");
});
}
});
});
</script>
</body>
</html>
E un file XML corrispondente:
<?xml version="1.0" encoding="UTF-8"?>
<books title="A list of books">
<book code="abcdef" />
<book code="ghijklm">
Some text contents
</book>
</books>
Grazie! Se non voglio trovare e il risultato contiene solo " come posso fare riferimento all'elemento" book "? –
$ (xml) .find (" book ") ti fornisce un elenco di i nodi del libro. Nel ciclo "ciascuno", $ (questo) è un riferimento al nodo del libro. – wildpeaks
sì ma per il mio codice non voglio trovare perché non è necessario, ho solo un elemento del libro, è possibile per fare riferimento direttamente senza trovare? –