de retour, la chaîne xml - comment analyser le fichier xml à l'aide de JQuery/Json
quand je fais de l'alerte il y a le retour de la chaîne comme ceci:
data "<?xml version="1.0" encoding="utf-8" ?>
<xml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Name>John Smith</Name>
<Description>stackoverflow</Description>
<Total>50</Total>
</Document>
</xml>"
Mise à jour:
j'ai essayé d'utiliser cette méthode getJSON et je ne reçois pas les alertes, mais jamais exécuter à l'intérieur de la find('Document').each.....
$.getJSON(_url, function (data) {
alert(data);
$(data).find('Document').each(function () {
debugger
var name = $(this).find('Name');
var desc = $(this).find('Description').text();
var total = $(this).find('Total').text()
});
});
comment lire un fichier xml jquery, ci-dessous, qu'est-ce que le retour de moi comme d'une chaîne et je peux voir que lorsque je fais un alert(data);
$.getJSON(url, {},
function (data) {
alert(data);
}
});
<?xml version="1.0" encoding="utf-8" ?>
- <xml xmlns="http://www.opengis.net/kml/2.2">
- <Document>
<Name>John Smith</Name>
<Description>stackoverflow</Description>
<Total>50</Total>
</Document>
</xml>
Qu'essayez-vous d'en sortir? Aussi, c'est certainement pas de JSON 🙂
Nick: mon url est l'appel d'une croix domaine d'appel et c'est pourquoi je suis à l'aide de getJSON méthode et j'ai mis à jour ma question s'il vous plaît avoir un coup d'oeil.
Nick: mon url est l'appel d'une croix domaine d'appel et c'est pourquoi je suis à l'aide de getJSON méthode et j'ai mis à jour ma question s'il vous plaît avoir un coup d'oeil.
OriginalL'auteur Nick Kahn | 2010-11-30
Vous devez vous connecter pour publier un commentaire.
Vous semblez avoir mal compris ce que JSON est, et comment il est utilisé dans jQuery!?
Si vous voulez faire du ski-domaine, les données retournées doivent être dans un format JSON. jQuery tente d'analyser votre JSON dès qu'il la reçoit. Il l'attend dans un format comme "jsonp1291171891383 ({})", qui est ensuite évalué comme JavaScript. Le XML que vous avez retourné dans pas JavaScript.
Une façon possible de contourner cela est de votre déclaration des données est quelque chose comme "jsonp1({"données":"<xml>"})". Si c'est le cas, dans votre exemple, la variable "data" est en texte brut, et vous aurez besoin de parser le XML avant, vous pouvez y accéder via le sélecteur de méthodes.
De ici.
Et puis dans votre code:
OriginalL'auteur Swannie
Si vous êtes toujours à la recherche d'une réponse, Google API ajax a construit dans le xml->json convertisseur.
Vous pouvez l'appeler par l'intermédiaire
http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&q=
avec votre url de demande à la fin.
Si vous essayez d'utiliser JSONP et obtenir autour de la même origine, il ressemblerait à quelque chose comme ceci:
Cependant, cela vous donnera de données JSON, donc vous allez avoir besoin de modifier votre rappel à sérialiser d'accès et le Nom, la Description, le Total des éléments comme des attributs. Si vous avez besoin d'une orientation sur ce, la caisse La sérialisation JSON en jQuery
Son le nœud parent (propriété une fois sérialisé) indiqué dans la question ci-dessus. les données à ce stade est juste votre JSON. Si vous souhaitez accéder aux données directement, votre meilleur pari est de sérialiser, voir le lien dans ma réponse ci-dessus.
Merci @ginman, j'ai tout compris! Je suis amoureuse de la façon dont cette API nous permet d'appeler des données externes à partir d'autres serveurs, et aussi de manipuler ces mêmes données via jQuery.
Ouais, en fait, en spécifiant &callback=?, nous demandons JSONP, c'est comment il se met autour de la même origine préoccupations. Je viens de réaliser qu'il y a quelques jours.
OriginalL'auteur ginman
Vous ne devriez pas l'utiliser .getJSON pour les données XML. Au lieu de cela, essayez ceci:
quand je fais
alert( $(data).find('Document:first Name').text() );
je n'obtiens aucune valeur, son videsi j'utilise
$.ajax
- je obteniraccess denied error
comme je l'ai dit je suis à l'aide de la croix-domaine d'appelOriginalL'auteur Nick G
D'autres ont dit que vous ne devriez pas utiliser JSON, et ils sont corrects, mais je pense que ce que vous avez vraiment besoin de savoir est que le XML peut être navigué tout comme HTML à l'aide de jQuery. Vous pouvez utiliser les sélecteurs comme
$('Name')
à obtenir auprès de votre<Name>
de données et ainsi de suite. Donc, une fois que vous avez votredata
retourné, vous pouvez faire quelque chose comme ceci:Microsoft JScript runtime error: Object doesn't support this property or method
quand j'essaie dealert(data.children('Name'))
OriginalL'auteur idrumgood