_root.c = mx.xpath.XPathAPI.selectNodeList(myXML.firstChild,chemin);

cs_edophie Messages postés 20 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007 - 31 août 2006 à 09:26
cs_edophie Messages postés 20 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007 - 31 août 2006 à 14:02
Bonjour
J'ai besoin de la communauté pour résoudre mon gros soucis.
Ci-contre le vous envoi des sources qui fonctionnent MAIS je n'arrive pas et je suis coincé sur un point crucial.
Help Help comme disait l'autre.
Voici ma question :
Le principe de mon fichier est que je cherhe par un code xpath des info d'une page xml.
J'ai 2 boutons. J'arrive à lire le fichier XML et a ramener les infos que je veux dans un champ dynamique.
Mon fichier XML donne 3 infos : et ce que je voudrais et que personne dans mon entourage arrive à faire (j'ai besoin de vrai PRO) c'est un tableau récapitulatif du genre :
m Matt jean
f Heather sophie
m Tucker luc
f Apple marie
m Nate pascal
Ces infos viennent du fichier XML.
Voilà ma question :
comment sortir un tableau de :
myXML.load("xpath.xml")
bnt_F.onPress = function () {
var chemin = "/employees/person[@gender='f']";
_root.c = mx.xpath.XPathAPI.selectNodeList(myXML.firstChild,chemin);
?????????????

Merci

les sources :
coté fla :

function Remplir (texte){
 /* on supprime le contenu du textarea*/
 txt_pesonne.text  =""
 /* on ajoute chaque personne au textarea*/
  for (var i = 0; i < texte.length; i++) {
   txt_pesonne.text+=texte[i];
  }
}
myXML = new XML()
myXML.ignoreWhite = true;
myXML.onLoad = function(success) {
 if(success){
 /* definit le chemin*/
  var chemin = "/employees/person"
  /* on récupère toutes les personnes*/
  var personNoeud = mx.xpath.XPathAPI.selectNodeList(this.firstChild,chemin);
  /* on remplit le textarea */
  Remplir (personNoeud )
 }
}
myXML.load("xpath.xml")
bnt_F.onPress = function () {
var chemin = "/employees/person[@gender='f']";
_root.c = mx.xpath.XPathAPI.selectNodeList(myXML.firstChild,chemin);


  /* on ajoute chaque personne au textarea*/


}
bnt_H.onPress = function () {
var chemin = "/employees/person[@gender='m']";
_root.c = mx.xpath.XPathAPI.selectNodeList(myXML.firstChild,chemin);
  /* on ajoute chaque personne au textarea*/


}

coté : XML  nom du fichier = xpath.xml

  
  
  
  
  
 

<!-- / message -->
<!-- attachments -->

6 réponses

fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
31 août 2006 à 11:20
Je n'ai pas vraiment saisi ce que tu voulais faire. Mais pour obtenir dans ton TextArea le même style de formulation que tu à donnée, il faut changer ta boucle et y mettre quelque chose plus dans ce style :

for (var i = 0; i < texte.length; i++) {
   txt_pesonne.text += " " + texte[i].attributes.gender;
   txt_pesonne.text += " " + texte[i].attributes.nom;
   txt_pesonne.text += " " + texte[i].attributes.prenom;
   txt_pesonne.text += newline;
}

Bon après c'est à toi de voir. Ou de refaire ta demande si c'est mal saisis.
Aller @+
Flo
0
cs_edophie Messages postés 20 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
31 août 2006 à 11:49
Désolé, ça ne marche pas, j'ai du mal formuler ma question.
Voilà,
Par l'exemple, qui marche, ci-dessus, je récupère par un bouton dans un champ dynamique que j'ai appelé c les infos suivante :
,,,,

Je ne peux pas afficher cela.
J'aimerai avoir un tableau, normal, Non ?
Mais je n'y Arrive vraiment pas et je suis vraiment coincé.

Merci pour ton précieux aide
0
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
31 août 2006 à 12:24
Pour que mon bout de code fonctionne il faut que ton TextArea ou ton TextFiled autorise le multiligne :
Ca te donne ca en théorie dans la zone de texte :

 m Matt jean
 f Heather sophie
 m Tucker luc
 f Apple marie
 m Nate pascal

Aller @+
Flo
0
cs_edophie Messages postés 20 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
31 août 2006 à 13:47
Désolé, je n'arrive pas à comprendre.


Serais tu assez sympathique pour me faire le code ? (par rapport au code ci-dessus) ???


Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fguitton Messages postés 396 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 novembre 2009 1
31 août 2006 à 13:59
Alors moi je veux bien être sympa, je veux bien le faire, mais en fait c'est pas au code qu'il faut toucher pour mettre en multilignes.
Ou si tu peu utiliser le paramètre qui est associé en boolean.
Bref ce qu'il faut savoir b'abord, c'est ce que tu entend par tableau. Tu veux parler d'un Tablaeu "Array", dans lequel tu va ranger tes données pour ensuite les mettres dans une zone de texte ( TextArea ou TextFiled ). Ou bien par tablaeu entend tu une présentation en forme de tablaeu de tes donnée, dans ta zone de texte .
Et puis au fait, c'est quoi "

_root.c
"

Bon bah maintenant je te laisse la main, et je faire en conséquence.

Aller @+
Flo
0
cs_edophie Messages postés 20 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 octobre 2007
31 août 2006 à 14:02
C'est bon merci, Voici la solution :


function Remplir(ar:Array) {
 /* on supprime le contenu du textarea*/
 txt_personne.text = "";
 /* on ajoute chaque personne au textarea*/
 for (var i = 0; i<ar.length; i++) {
  txt_personne.text += ar[i].attributes.nom+" "+ar[i].attributes.prenom+"\n";
 }
}
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = function(success) {
 if (success) {
  /* definit le chemin*/
  var chemin = "/employees/*";
  /* on récupère toutes les personnes*/
  var personNoeud = mx.xpath.XPathAPI.selectNodeList(this.firstChild, chemin);
  //txt_personne.text=personNoeud[1].attributes.nom
  /* on remplit le textarea */
  Remplir(personNoeud);
 }
};
myXML.load("xpath.xml");
bnt_F.onPress = function() {
 var chemin = "/employees/*[@gender='f']";
 Remplir( mx.xpath.XPathAPI.selectNodeList(myXML.firstChild, chemin));
 /* on ajoute chaque personne au textarea*/
};
bnt_H.onPress = function() {
 var chemin = "/employees/*[@gender='m']";
 Remplir( mx.xpath.XPathAPI.selectNodeList(myXML.firstChild, chemin));
 /* on ajoute chaque personne au textarea*/
};

Bon flash à tous
et merci


 


 
0
Rejoignez-nous