Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/10/2007, 17h18   #1
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 76
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 76
Points : 53
Points : 53
Par défaut gérer une FAQ avec XML

Bonjour,
Je souhaiterais créer une FAQ dans un document flash. Comme le doc sera diffusé en différentes langue, j'utilise des fichier XML que les gens des différentes langues rempliront.
Code de mon.xml :
1
2
3
4
<root>
<question1 q=" <b>Qu’est-ce qu’un hub et switches ?</b>">Un hub et un switch c'est: blabalbalbla</question1>
<question2 q=" <b>Qu’est-ce qu’une glace à la fraise ?</b>">une lace à la fraise est constituée de : blabalbalbla</question2>
</root>
Comment puis-je dans une boucle récupéré l'attribut des différentes questionX, et leur associer le texte contenu entre les balises pour l'insérer dans un texte dynamique?
en faisant:
Code :
zonetext.htmlText = xmlFAQ.firstChild.firstChild.Tostring();
je n'obtiens que du vide.

Merci de votre aide
boadog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 21h57   #2
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

tu peux faire comme ça :

Code :
1
2
3
4
5
6
7
8
 
<?xml version="1.0" encoding="utf-8"?>
<liste>
 
<item question="comment ?" reponse="comme ça" />
<item question="pk ?" reponse="parceque" />
 
</liste>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
listexml = new XML();
listexml.load("fichier.xml");
listexml.ignoreWhite = true;
listexml.onLoad = recupData;
aQuestions = new Array();
aReponses = new Array();
 
function recupData()
{
    var noeuds = listexml.firstChild.childNodes;
    var nbItem = noeuds.length;
    //On parcours la liste
    for (var i = 0; i<nbItem; i++) {
        aQuestions.push( noeuds[i].attributes.question );
        aReponses.push( noeuds[i].attributes.reponse );
    }
 
    // placer le texte dans les champs
    // ex:
    champ1.text = aQuestion[0];
}
il est plus facile de faire le formatage du texte dans Flash (graphiquement)

;)
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 09h32   #3
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 76
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 76
Points : 53
Points : 53
Merci pour cette aide,
cependant, je n'arrive toujours pas à tracer dans ma zon de texte...
Lorsque je fais
Il me sort que c'est "undefined", alors que le contenu de noeuds[1] et noeuds[2] correspondent bien aux balises <item >
Mon fichier XML est encodé en UTF-8 (je précise au cas où ça soit important)

Encore un petit besoin d'aide pour un grand merci :o)
boadog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 10h14   #4
Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 76
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 76
Points : 53
Points : 53
Ok finallement, j'y suis arrivé avec ton exemple, en le modifiant quelque peu:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
listexml = new XML();
listexml.load("fichier.xml");
listexml.ignoreWhite = true;
listexml.onLoad = recupData;
var aQuestions = new Array();
var aReponses = new Array();
 
function recupData()
{
    var noeuds = listexml.firstChild.childNodes;
    var nbItem = noeuds.length;
    //On parcours la liste
    for (var i = 0; i<nbItem; i++) {
        aQuestions[i]= noeuds[i].attributes.question;
        aReponses[i]= noeuds[i].attributes.reponse;
    }
    champ1.text = aQuestions[0];
}
sur ces exemples simple, tout va bien, le probléme, c'est que les réponses sont assez longue. C'est pour ça que j'aurais rpéféré faire quelquechose du style
Code :
1
2
 
<item question="Qu'est-ce que l'univers?"> tres longue réponse d'explication, avec du gras, de l'italique, et des "citation" et tout et tout...</item>
donc je fais plutôt:
Code :
1
2
        aQuestions[i]= noeuds[i].attributes.question;
        aReponses[i]= noeuds[i].firstChild.toString();
Merci de ton aide
boadog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h13.


 
 
 
 
Partenaires

Hébergement Web