Manipulation d'un fichier xml chargé avec jQuery

Résolu
gillespockpock Messages postés 7 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 20 juin 2008 - 12 juin 2008 à 10:30
gillespockpock Messages postés 7 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 20 juin 2008 - 12 juin 2008 à 10:44
Bonjour, j'ai un problème, je n'arrive pas à manipuler le DOM d'un document XML que je charge avec jQuery; voici le code du chargement: (l'url du fichier est fichierURL, elle vaut "document1.xml")
$.ajax({
             async:false,
             url:fichierURL,
             dataType: ($.browser.msie) ? "text" : "xml",//si on est sur IE alors le type des données envoyées est text, sinon xml
               success: function(data){//fonction appellée lorsque la requète de récupération du fichier a réussi
var xml;
if (typeof data = = "string") {//si on est sur IE: le type de données envoyées par le navigateur étant du texte
                   xml = new ActiveXObject("Microsoft.XMLDOM");//création d'un active X Microsoft
                   xml.async = false;
                   xml.loadXML(data);//création d'un document XML
                 } else {
                   xml = data;//si on n'est pas sous IE, document XML est déjà créé
                 }

                 alert( ?? );
              
              }
});

Voici un morceau de mon document xml que je charge: document1.xml:
<schema>
<field name =\"f1\" type=\"int\" />
<field name=\"f2\" type=\"float\"/>

</schema>

Mon problème est pour Parser le document qui se trouve dans la variable xml. Malgré des exemples trouvés sur Internet, ca ne marche pas.
Je veux afficher (??) la valeur de l'attribut name du premier noeud field contenu dans schema/table, HELP!

1 réponse

gillespockpock Messages postés 7 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 20 juin 2008
12 juin 2008 à 10:44
C'est re-moi: oups, quel c.. c'est pourtant facile! il suffit de faire:

alert(
$("schema table field",xml).eq(0).attr("name") //eq(i) va chercher le sous-noeud field d'index i dans le 1er noeud table
);

Ca affiche "f1", pourquoi j'y avais pas pensé!

Au moins si ca peut aider quelqu'un.
tciao...
3
Rejoignez-nous