begin process at 2012 05 26 17:39:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

connexion XML - help me please !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

connexion XML - help me please !

mercredi 29 avril 2009 à 00:36:30 | connexion XML - help me please !

thePureXtc

Bonjour à tous,

D'habitude je crée moi-même le XML et m'y connecte donc sans trop de problèmes. Ici je dois collaborer avec une boîte qui ne n'arrive pas à enlever le titre du document qui me gêne quand je veux accéder aux donnée. Je n'arrive pas à passer par dessus cette foutue ligne..... C'est tout con, j'espère que quelqu'un pourra m'aider. Please.

Voici un extrait de mon XML :

<?xml version="1.0" encoding="UTF-8"?>

<Data>
<row>
<artLocation>cover_flow_images/album1.gif</artLocation>
<NO-CLIENT>100004</NO-CLIENT>
<FONCTION>Infirmier CAM</FONCTION>
<ENTREE>de suite ou mars 2009</ENTREE>
<PROFIL-EXIGE>Recherche 2 infirmiers;</PROFIL-EXIGE>
<LIEUTRAVAIL>Lausanne</LIEUTRAVAIL>
<ACIVITE>CAM, Chirurgie ambulatoire</ACIVITE>
<SPRACHE-KUNDE>Français</SPRACHE-KUNDE>
<VAKANZART>Fixe</VAKANZART>
</row>
</Data>

Voici un extrait du XML qu'on me donne, voyez les lignes avant "<Data>" :

<?xml version="1.0" encoding="UTF-8"?>

<CxtXMLEnvelope>
<Header>
<DocumentStandard>XML</DocumentStandard>
<DocumentType>VAKANZEN</DocumentType>
</Header>

<Data>
<row>
<artLocation>album1.gif</artLocation>
<NO-CLIENT>100004-6</NO-CLIENT>
<FONCTION>Infirmier CAM</FONCTION>
<ENTREE>de suite ou mars 2009</ENTREE>
<PROFIL-EXIGE>Recherche 2 infirmiers .</PROFIL-EXIGE>
<LIEUTRAVAIL>Lausanne</LIEUTRAVAIL>
<ACIVITE>CAM, Chirurgie ambulatoire ( env. 1 par mois)</ACIVITE>
<SPRACHE-KUNDE>Français</SPRACHE-KUNDE>
<VAKANZART>Fixe</VAKANZART>
</row>
<Data>

Jusqu'à présent je parcourais le XML de la sorte, comment modifier ces lignes ???

xmlData.onLoad = function(success:Boolean):Void {
if (success) {
for (var i:Number = -1; this.childNodes[0].childNodes[++i]; ) {
var cNode:XMLNode = this.childNodes[0].childNodes[i].childNodes;
var val2:String = cNode[1].childNodes[0].nodeValue ? unescape(cNode[1].childNodes[0].nodeValue) : update;
var val3:String = cNode[2].childNodes[0].nodeValue ? unescape(cNode[2].childNodes[0].nodeValue) : update;
var val4:String = cNode[3].childNodes[0].nodeValue ? unescape(cNode[3].childNodes[0].nodeValue) : update;
var val5:String = cNode[4].childNodes[0].nodeValue ? unescape(cNode[4].childNodes[0].nodeValue) : update;
var val6:String = cNode[5].childNodes[0].nodeValue ? unescape(cNode[5].childNodes[0].nodeValue) : update;
var val7:String = cNode[6].childNodes[0].nodeValue ? unescape(cNode[6].childNodes[0].nodeValue) : update;
var val8:String = cNode[7].childNodes[0].nodeValue ? unescape(cNode[7].childNodes[0].nodeValue) : update;
var val9:String = cNode[8].childNodes[0].nodeValue ? unescape(cNode[8].childNodes[0].nodeValue) : update;
infostruc.push({art:cNode[0].childNodes[0].nodeValue, info:val1, auth:val2, album:val3, album2:val4, album3:val5, album4:val6, album5:val7, album6:val8, album7:val8, album8:val9, loaded:false});
}
loadStat = "";
init();
} else {
loadStat = "Nous n'avons aucun poste vacant en ce moment";
}
};


Grégory, Suisse

mercredi 29 avril 2009 à 09:20:53 | Re : connexion XML - help me please !

Blacknight91titi

Membre Club
Réponse acceptée !
Hello,

Mmmhh je serai toi je passerai tout de suite sur ActionScript 3. La gestion du XML passe en type primitif et parcourir un XML devient un vrai jeu d'enfant !

Pour charger un XML en AS3, il faut utiliser la classe URLLoader.

Exemple (de tête) :

var myXML:XML;

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, completeLoad);
xmlLoader.load(new URLRequest("monxml.xml"));

function completeLoad(evt:Event):void {
    myXML = evt.target.data; //A vérifié la présence de l'attribut 'data' dans le dictionnaire ActionScript.
}

Ensuite pour parcourir un xml, rien de plus facile :

var num:String : myXML.row.element('NO-CLIENT');
//Ici on utilise la méthode element() du fait du caractère spécial employé dans le nom de l'enfant. Autrement il suffirait de faire myXML.row.noclient; D'où l'intérêt de ne pas utiliser de caractère spéciaux :)

Pour lire un attribut :
myXML.row.noeud.@monAttribut;

Mieux encore, pour récupérer un noeud particulier
myXML.row.noeud.(@monAttribut == 1).noclient;

Evidement dans la parenthèse on peut utiliser n'importe quelle condition.

Et tout cela, grâce à l'E4X !
Hop un petit lien : http://fr.wikipedia.org/wiki/E4X

Blacknight
www.osteres.com
mercredi 29 avril 2009 à 09:22:06 | Re : connexion XML - help me please !

Blacknight91titi

Membre Club
Réponse acceptée !
Je peux également te renvoyer vers le cours de XML que j'ai donné il y a deux semaines et dont les documents sont présent sur mon blog :
http://www.osteres.com/blog/article/atelier-flash-5_144
mercredi 29 avril 2009 à 09:24:02 | Re : connexion XML - help me please !

Girou

Membre Club
Réponse acceptée !
Bonjour,

je suppose que le xml est cloturé par une balise  </CxtXMLEnvelope>
Si c'est le cas, alors ce qui t'intéresses ces le second noeud du XML (<HEADER></HEADER> représentant le premier)

je modifierais en conséquence ta fonction

xmlData.onLoad = function(success:Boolean):Void {
if (success) {

var baseNode:XMLNode=this.firstChild.childNode[1]
var totalNodes:Number=baseNode.childNodes.length


for (var i:Number = 0; i<totalNodes;i++ ) {
var cNode:XMLNode = baseNode.childNodes[i].childNodes;

var val2:String = cNode[1].childNodes[0].nodeValue ? unescape(cNode[1].childNodes[0].nodeValue) : update;
var val3:String = cNode[2].childNodes[0].nodeValue ? unescape(cNode[2].childNodes[0].nodeValue) : update;
var val4:String = cNode[3].childNodes[0].nodeValue ? unescape(cNode[3].childNodes[0].nodeValue) : update;
var val5:String = cNode[4].childNodes[0].nodeValue ? unescape(cNode[4].childNodes[0].nodeValue) : update;
var val6:String = cNode[5].childNodes[0].nodeValue ? unescape(cNode[5].childNodes[0].nodeValue) : update;
var val7:String = cNode[6].childNodes[0].nodeValue ? unescape(cNode[6].childNodes[0].nodeValue) : update;
var val8:String = cNode[7].childNodes[0].nodeValue ? unescape(cNode[7].childNodes[0].nodeValue) : update;
var val9:String = cNode[8].childNodes[0].nodeValue ? unescape(cNode[8].childNodes[0].nodeValue) : update;
infostruc.push({art:cNode[0].childNodes[0].nodeValue, info:val1, auth:val2, album:val3, album2:val4, album3:val5, album4:val6, album5:val7, album6:val8, album7:val8, album8:val9, loaded:false});
}
loadStat = "";
init();
} else {
loadStat = "Nous n'avons aucun poste vacant en ce moment";
}
};


@+

signature not found
mercredi 29 avril 2009 à 22:05:38 | Re : connexion XML - help me please !

thePureXtc

Réponse acceptée !

Wouah,

Merci beaucoup ! Non seulement j'ai eus une réponse direct de Girou mais blackNight m'à aussi aiguillé vers une meilleure architecture pour mes futur projets.
C'est clair, il faut que je me mette à l'AS3 et tu n'es pas le premier à me le dire.
Grâce à tes précieux conseils et à ton lien, je vais me mettre un coup de pied au derrière et m'y intéresser de plus près!

Je reviens vers vous vers la fin de semaine, on inaugure demain notre bureau ! Et il y a du boulot.... Et plus particulièrement vers toi Girou, si tu auras encore l'obligeance de m'accorder quelques lignes sur ce projet en AS2, j'ai rapidement essayé avec la modif conseillée mais ça ne passe toujours pas, je passe encore quelques heures dessus et reviens vers toi avec plus de précisions si tu es d'accord. Là je dois aider mes collègues à organiser les derniers détails.

Je ne pensais pas recevoir si rapidement de si riches réponses, merci à vous deux pour le temps consacré.

Bien à vous,
Grégory

jeudi 30 avril 2009 à 09:21:41 | Re : connexion XML - help me please !

Girou

Membre Club
Réponse acceptée !
Bonjour,

j'ai relevé une petie erreur dans mon adaptation de ton script

xmlData.onLoad = function(success:Boolean):Void {
if (success) {

var baseNode:XMLNode=this.firstChild.childNodes[1]
var totalNodes:Number=baseNode.childNodes.length

for (var i:Number = 0; i<totalNodes;i++ ) {
var cNode:XMLNode = baseNode.childNodes[i].childNodes;

var val2:String = cNode[1].childNodes[0].nodeValue ? unescape(cNode[1].childNodes[0].nodeValue) : update;
var val3:String = cNode[2].childNodes[0].nodeValue ? unescape(cNode[2].childNodes[0].nodeValue) : update;
var val4:String = cNode[3].childNodes[0].nodeValue ? unescape(cNode[3].childNodes[0].nodeValue) : update;
var val5:String = cNode[4].childNodes[0].nodeValue ? unescape(cNode[4].childNodes[0].nodeValue) : update;
var val6:String = cNode[5].childNodes[0].nodeValue ? unescape(cNode[5].childNodes[0].nodeValue) : update;
var val7:String = cNode[6].childNodes[0].nodeValue ? unescape(cNode[6].childNodes[0].nodeValue) : update;
var val8:String = cNode[7].childNodes[0].nodeValue ? unescape(cNode[7].childNodes[0].nodeValue) : update;
var val9:String = cNode[8].childNodes[0].nodeValue ? unescape(cNode[8].childNodes[0].nodeValue) : update;
infostruc.push({art:cNode[0].childNodes[0].nodeValue, info:val1, auth:val2, album:val3, album2:val4, album3:val5, album4:val6, album5:val7, album6:val8, album7:val8, album8:val9, loaded:false});
}
loadStat = "";
init();
} else {
loadStat = "Nous n'avons aucun poste vacant en ce moment";
}
};

La, ça devrait fonctionner (j'ai testé )

@+

signature not found
jeudi 30 avril 2009 à 09:29:56 | Re : connexion XML - help me please !

Blacknight91titi

Membre Club
Réponse acceptée !
Pas de soucis thePureXtc.

Je reste persuadé cependant qu'une section ActionScript 3 dans les catégories serait fort utile pour ceux souhaitant passer à AS3.

D'expérience personnel, depuis que je suis passé sur ActionScript 3, je travaille beaucoup plus efficacement et de façon plus structurer. Cela se répercute d'ailleurs également sur les autres langages sur lesquels je travaille ;)

Passer à ActionScript 3 est donc réellement une bonne chose.

Blacknight
www.osteres.com
samedi 2 mai 2009 à 13:46:38 | Re : connexion XML - help me please !

thePureXtc

Réponse acceptée !

Comment dire ? Mille mercis !

Ca marche du tonner ! Girou tu cartonnes !!!!
Je me remets gentillement de notre soirée d'inauguration de ce jeudi ! C'était une vraie réussite. Quelle surprise d'avoir mon code propre en ordre juste après !
D'ailleurs si vous passez à Lausanne un jour, venez me dire bonjour à 2, rue des Terreaux (au coeur de la ville) et je vous offre une bonne petite bière ! Avec plaisir !

D'ailleurs si vous avez besoin d'un conseil graphique ou d'une remarque constructive pour vos applications, n'hésitez pas (là je suis plus fort : http://gregory-aegerter.ch) !
J'aimerai vous rendre la pareil. Merci encore d'avoir pris le temps.

BlackNight, c'est promis : mon prochain travail de formation personnelle se portera sur mon passage de l'AS2 à l'AS3. J'ai gardé tout tes précieux liens.

Merci encore pour vos précieux conseils.
Très beau week-end à vous !

Grégory Aegerter,
Lausanne, Suisse

samedi 2 mai 2009 à 14:40:32 | Re : connexion XML - help me please !

Blacknight91titi

Membre Club
Réponse acceptée !
Et bien voila une personne dont on aura compris la satisfaction ! :)

Je te répondrai donc un simple : Derien
Nous sommes la pour ça ;)

Note : Penses à indiquer ton topic comme ayant trouvé une réponse à ta question (avec le bouton "réponse acceptée").

samedi 2 mai 2009 à 18:26:09 | Re : connexion XML - help me please !

thePureXtc

Réponse acceptée !

Voilà c'est fait ;)

A noté que sous OSX on ne lit que "réponse" sur le bouton, le reste est masqué !

A bientôt ;)



Cette discussion est classée dans : string, var, childnodes, cnode, nodevalue


Répondre à ce message

Sujets en rapport avec ce message

Création en manipulation de clip en AS [ par ypauleau ] J'ai cherché sur le net et j'ai toujours pas compris, Voici mon problème : Je cherche à créer des instances d'un clip que j'ai créer dans la bibliothè duplicateMovieClip, RadioButton selon le fichier XML [ par cefar ] Bonjour,Je tente de développer un QCM avec chargement d'un fichier XML.Le nombre de réponse par question n'est pas fixe.Je fais une boucle pour placer Afficher une photo à partir d'un fichier xml [ par way2web ] Bonjour, j'essaye de créer une galerie photos en flash qui charge les images depuis un fichier xml, je suis actuellement bloqué à l'étape où je souhai addChild(mcs) en fonction d'une var String [as3] [ par Ariranha ] Bonsoir Je cherche à ajouter des clips(liaison des clips : L,o,a,D,i,n,g,.)contenu dans la bibliothèque et qui correspondents aux lettres de la var Pk mon preloader ne fonctionne pas ?? [ par way2web ] Bonjour,J'ai voulu rajouter un preloader au chargement des images de ma galerie photo, j'ai donc placé ce code[code]eloader.onLoadProgress = function( boucle et validation de données actionscript [ par fragger ] Bonjour à tous,Voilà, je bloque sur ce code et je tourne en rond...Le script est celui d'un clip qui permet de vérifier ce qui a été saisi par l'utili Problème d'affichage de variable [ par Sub_Mat ] Bonjour à tous,Voilà je vous explique, je souhaiterai afficher l'actualité en continu sur mon site en flash, et pour cela je charge les données dans u Récupérer les données d'une variable issu d'un fonction [ par multimania ] Bonjour à tous, Je suis dans flash AS3 Je cherche à utiliser des fichiers xlm pour faire des vérifications et agir différement dans mon appli flash [AS3] Récup et modif de données provenant d'une zone de saisie [ par vedelvetsyn ] Bonjour, Débutant en AS3, je comprend a peu près comment ça fonctionne mais j'apprends vite... Seulement, j'ai un 'tit souci dans mon code : le but f


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales