TUTORIEL COMPLET XML

top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010 - 13 oct. 2003 à 19:15
kdok Messages postés 16 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 14 mars 2009 - 14 mars 2009 à 18:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17063-tutoriel-complet-xml

kdok Messages postés 16 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 14 mars 2009
14 mars 2009 à 18:10
Pardon je voulais dire 3 colonnes
kdok Messages postés 16 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 14 mars 2009
14 mars 2009 à 18:09
Merci pour ce tuto très clair.
Comment dois-je faire si je veux que les différentes news se présentent sous forme de tableau (2 lignes, 1 colonnes) au lieu d'être dans un seul bloc de texte?
Est-ce possible (avec une boucle for peut être)?

Merci de ton aide
cs_nicojet Messages postés 7 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 30 mars 2007
19 mai 2008 à 12:26
Super, j'ai tout compris en mois d'1 h ! Un grand merci
sanka82 Messages postés 2 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 10 janvier 2008
12 oct. 2007 à 15:07
j'ai deja essaye...ca marche pas non +! jai p-e fait une erreur quelque part...

myXML.onLoad = function(flag) {
if (flag) {
i=0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
// L'objet créé pour le tableau va s'appeler 'cartefr',
// qui va etre rempli par rapport à ce qu'il y a dans le XML
var cartefr = new Object();
cartefr.id = x.childNodes[i].attributes.id;
cartefr.nom = x.childNodes[i].attributes.nom;
cartefr.ville = x.childNodes[i].attributes.ville;
cartefr.methode = x.childNodes[i].childNodes[0].attributes.type;
cartefr.temps = x.childNodes[i].childNodes[1].attributes.adresse;
cartefr.img = x.childNodes[i].childNodes[2].attributes.src;
//img_mc.portePhoto_mc.loadMovie(cartefr.img);
cartefr.departement = x.childNodes[i].childNodes[3].attributes.departement;
lenumero = x.childNodes[i].childNodes[3].attributes.numero;
// Ca, c'est pour la région parisienne:
// On regroupe tous les départements en un seul (le 75)
if(lenumero==91 || lenumero==92 || lenumero==93 || lenumero==94 || lenumero==95 || lenumero==77 || lenumero==78){
cartefr.numero = 75;
}else{
cartefr.numero = lenumero;
}

// Ca y est! L'objet cartefr est remplie de plein d'infos utiles par la suite,
// maintenant, on le range dans le tableau 'table' avec cette instruction:
table.push(cartefr);
i++;
}
// Une fois terminé, on passe à l'affichage...
play();
}


jai cree un clip vide que j'ai nomme portePhoto_mc qd j'ai l'ai glisse ds le clip mc:img

et mon code ds le clip "point"

stop();
// Voila: rien de compliqué, ni de complexe
titre = ville+" "+nom+"\n("+departement+")";
texte = " "+temps+"\n"+methode;
img_mc.portePhoto_mc.loadMovie(cartefr.img);

merci pour tes conseils
Utilisateur anonyme
11 oct. 2007 à 21:03
Pour afficher une image, il faut la charger dans un movieClip. pas dans un textField.
sanka82 Messages postés 2 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 10 janvier 2008
11 oct. 2007 à 15:56
Salut

genial ton code merci!
jai un peu de mal à l'adapter surtout pr afficher une image...
en fait j'aimerai bien afficher une image ds la petite pop up, j'y ai cree un champ txt nomme img (c'est possible d'afficher l'img ds le champ txt ou il faut un autre type de champ?)

voici mon xml

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

<liste>

<cartefr id="1" nom="Nom du magasin" ville="Ville">
<methode type="087/00.00.00" />
<temps adresse="Rue du paradis,3" />

<lieu departement="Paris1" numero="75" />
</cartefr>

</liste>


sur la 2eme img cle de la scene je rappelle ma balise img

if (flag) {
i=0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
// L'objet créé pour le tableau va s'appeler 'cartefr',
// qui va etre rempli par rapport à ce qu'il y a dans le XML
var cartefr = new Object();
cartefr.id = x.childNodes[i].attributes.id;
cartefr.nom = x.childNodes[i].attributes.nom;
cartefr.ville = x.childNodes[i].attributes.ville;
cartefr.methode = x.childNodes[i].childNodes[0].attributes.type;
cartefr.temps = x.childNodes[i].childNodes[1].attributes.adresse;
cartefr.img = x.childNodes[i].childNodes[2].attributes.img;
cartefr.departement = x.childNodes[i].childNodes[3].attributes.departement;
lenumero = x.childNodes[i].childNodes[3].attributes.numero;
// Ca, c'est pour la région parisienne:
// On regroupe tous les départements en un seul (le 75)
if(lenumero==91 || lenumero==92 || lenumero==93 || lenumero==94 || lenumero==95 || lenumero==77 || lenumero==78){
cartefr.numero = 75;
}else{
cartefr.numero = lenumero;
}

// Ca y est! L'objet cartefr est remplie de plein d'infos utiles par la suite,
// maintenant, on le range dans le tableau 'table' avec cette instruction:
table.push(cartefr);
i++;
}
// Une fois terminé, on passe à l'affichage...
play();
}

et sur le clip point j'affiche mon img

stop();
// Voila: rien de compliqué, ni de complexe
titre = ville+" "+nom+"\n("+departement+")";
texte = " "+temps+"\n"+methode;
img = ""+img+"";

merci bcp
cs_Rose95 Messages postés 2 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 12 avril 2007
12 avril 2007 à 11:48
alors je récapitule:
j'ai bien mis mon code sur la 1ère image sur un calque qui ne contient que ça et qui va jusqu'au bout de ma "timeline", je ne sais pas si c'est bien ça les termes, donc ici jusqu'à l'image 90.
j'ai mis sur un autre calque
- un stop sur l'image 10 pour ne pas qu'il fasse la lecture du fichier entier et affiche les différentes pages des différentes menus en bouclant
-et d'autres actions relatives aux menus (nom du menu pour pouvoir faire un goto nomdumenu): à l'image 11, le 1er menu commence, et un stop sur l'image 20, et ainsi de suite pour les autres menus 8 en tout
en dessous les autres calques sont les images des menus
si tu veux je peux t'envoyer mon fla ... ce sera plus simple

Merci d'avance
Utilisateur anonyme
11 avril 2007 à 20:36
laisse ton image unique avec le code, ne met rien dessus.
Crée un autre layer (calque) et met tes autres images dessus, en faisant attention que l'image qui correspond au code soit étendu à la taille des autres images du calque en dessous.
Je sais pas si je suis clair...
En gros un exemple:
2 calques, 3 images.
Calque du haut: "code"
Calque du bas: "images"
Sur "code", une seule image, qui fait la taille de trois.
Sur "images", trois images, avec tes boutons qui font des gotos.
cs_Rose95 Messages postés 2 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 12 avril 2007
11 avril 2007 à 12:25
Bonjour,

Merci pour ce tuto (encore un merci dans cette longue liste).
Mais quelqu'un peut il m'expliquer quelque chose surement de fondamentale mais désolée je suis débutante en la matière et je rame pour comprendre certaine chose:
j'ai un xml de type : (j'ai allégé en supprimant les attributs des balises de paragraphes en ne laissant que le Titre)
-----------------------------------------------------
<?xml version= '1.0' encoding='UTF-8'?>

<main>




<![CDATA[ Ceci est le Texte 1 du menu 01: blablabla]]>












<![CDATA[ Ceci est le Texte 1 du menu 02: blablabla]]>




<![CDATA[ Ceci est le Texte 2 du menu 02: blablabla]]>













<![CDATA[ Hébergement du site Web
Nom de domaine
Adresses Mail
Statistiques
Sauvegarde Journalière
Service Maintenance par mail : illimité ]]>





<![CDATA[ Ceci est le Texte 2 du menu 08: blablabla]]>






</main>

----------------------------------
avec le code AS que j'ai mis sur l'image 1 d'une animation vide (donc il n'y a que l'image 1 dans rien d'autre, ni clip, ni rien ("Rien, pas une boîte, pas un troquet, pas un mobylette ... Rien ! ..." ;-) ) :
Code AS :
------------------
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("paragraphes2.xml");
myXML.onLoad = function(flag) {
if (flag) {
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
trace("");
trace("--- Menu "+(i+1)+" ---");
trace("Id_Menu:\t"+x.childNodes[i].childNodes[0].attributes.value);
trace("Paragraphes :");
j = 0;
while (x.childNodes[i].childNodes[1].childNodes[j] != undefined) {
trace("\t --- Parag "+(j+1)+" ---");
trace("\t Titre:\t"+x.childNodes[i].childNodes[1].childNodes[j].attributes.Titre);
trace("texte:\t"+x.childNodes[i].childNodes[1].childNodes[j].childNodes[0]);
j++;
}
i++;
}
trace("");
trace(i+" menus trouvées");
}
};

------------------
ça marche bien : il m'affiche en trace les différentes infos demandées :
---------------------

--- Menu 1 ---
Id_Menu: 01
Paragraphes :
--- Parag 1 ---
Titre: Titre 1
texte: Ceci est le Texte 1 du menu 01: blablabla

--- Menu 2 ---
Id_Menu: 02
Paragraphes :
--- Parag 1 ---
Titre: Titre 1
texte: Ceci est le Texte 1 du menu 02: blablabla
--- Parag 2 ---
Titre: Titre 2
texte: Ceci est le Texte 2 du menu 02: blablabla

--- Menu 3 ---
Id_Menu: 08
Paragraphes :
--- Parag 1 ---
Titre: Hébergement
texte: Hébergement du site Web

Nom de domaine

Adresses Mail

Statistiques

Sauvegarde Journalière

Service Maintenance par mail : illimité
--- Parag 2 ---
Titre: Titre 2
texte: Ceci est le Texte 2 du menu 08: blablabla

3 menus trouvées
-------------------
d'ailleurs à ce propos au départ dans mon fichier XML j'avais mis les balises <Texte> </Texte> pour entourer la "pseudo balise" pour le HTML mais l'affichage du trace mettait les balises ... donc je les ai supprimées...
je ne sais pas si c'est correct, mais bon ... je suis en test alors je teste ...

le but de tout ce blabla j'y arrive :
si je rajoute des images vides (F5) à la suite de mon image 1 qui contient le code AS, j'ai en fait les traces qui se répètent, car normal il boucle à la lecture ... ça c'est bon je comprend le principe
mais mon problème c'est que quand j'insère mon code (sans rien toucher, je laisse les traces pour le moment, je verrais comment alimenter mes zones dynamiques plus tard ...) dans une animation où j'ai des boutons qui font des goto vers d'autres images pour m'afficher les bons textes, eh bien les traces ne s'affichent pas ...
est ce que c'est par ce qu'il n'a pas le temps de lire mon fichier et donc qu'il ne rentre pas dans ma fonction, comment faire donc pour qu'il récupère les infos une fois le fichier chargé ...
bref, j'y comprend que dalle à ce niveau ... et surement dans plein d'autres endroit ... donc soyez indulgents et patients et surtout clairs dans vos explications ...
MERCI !
janetdream Messages postés 86 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 21 août 2008
9 mars 2007 à 05:43
N'empèche BlackWizzard ta source à un réel intéret. Merci mille fois !!!

Maintenant il faudrait l'étendre avec du php afin d'ajouter les news sans passer par un FTP...

Je m'y interesserais quand j'aurais plus de temps.
Utilisateur anonyme
31 janv. 2007 à 07:34
System.useCodepage = true ;
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("lien.xml");
myXML.onLoad = function(flag) {
if (flag) {
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
tf.html = true;
var buffer:String;
buffer = (" "+x.childNodes[i].childNodes[0].attributes.value+" ");
j = 0;
while (x.childNodes[i].childNodes[1].childNodes[j] != undefined) {
buffer += (""+x.childNodes[i].childNodes[1].childNodes[j].attributes.text+"");
tf.htmlText += buffer;
j++;
}
i++;
}
tf.htmlText += (i+"liens");
}
};


pas testé mais ça devrais aller...
loustik16 Messages postés 2 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 19 août 2009
31 janv. 2007 à 01:57
salut, merci pour ce tut tres clair et les commentaires qui le suive

moi je l'utilise pour faire une page de liens en utilisant juste le titre et l'url
chaque news de mon xml donne ça :

<news>
<title value= "Syndicat National des Artistes Tatoueurs" />
<links>
<link url="http://www.s-n-a-t.org/" text="www.s-n-a-t.org" />
</links>
</news>

et mon script simplifié donne ça :

System.useCodepage = true ;
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("lien.xml");
myXML.onLoad = function(flag) {
if (flag) {
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
tf.html = true;
tf.htmlText += (" "+x.childNodes[i].childNodes[0].attributes.value+" ");
j = 0;
while (x.childNodes[i].childNodes[1].childNodes[j] != undefined) {
tf.htmlText += (""+x.childNodes[i].childNodes[1].childNodes[j].attributes.text+"");
j++;
}
i++;
}
tf.htmlText += (i+"liens");
}
};

et voila ma question : est il possible qu'il n'y est pas de saut de ligne entre mon titre et le text de l'url ?
en gros que seul le saut entre chaque news subsite et donc que chaque lien ne prenne qu'une ligne ??

en inde on dit 'all it's possible my friend' et la y'a pas un friend qui aurait une idée ?
aerandil Messages postés 7 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 14 avril 2005
20 déc. 2006 à 19:28
Désolé de repondre si tardivement à ta question BlackWizzard:

Oui, c'est assez intéressant. Après je suis déjà titulaire d'un BTS Informatique de Gestion option Developpeur Application, du coup les cours de prog me passent au dessus de la tête ^^, sauf celui de Flash puisque j'avais jamais pratiqué . Après coté graphisme/vidéo je trouve la formation plutot bien faite, mais après ça dépends beaucoup des enseignants je pense.

Il faut préciser que je suis en Année Spéciale, on fait le DUT en 1an (comme on a déjà un bac +2), on a aucune matière générale (pas de math, anglais, eco-droit, gestion) et surtout on est une petite promo: 8 . Du coup ya une excellente ambiance, les profs sont plus attentifs et surtout on s'aide beaucoup, étant donnée que sur 8 il y a 3BTS IG , 3BTS Comm Visuelle (graphisme), un DUT Reseau et Telecom, et un Deug Science, on a à peu près toutes les compétences du coup il y a toujours quelqu'un pour aider en cas de soucis .
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
16 déc. 2006 à 17:46
Il y a un forum pour ce genre de question Merci...
janetdream Messages postés 86 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 21 août 2008
16 déc. 2006 à 15:48
Finalement j'ai utiliser un source plus simple qui accepte les images et les urls de manière très simple...
cs_YopSolo Messages postés 21 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 16 décembre 2006
16 déc. 2006 à 12:49
<?xml version='1.0' encoding='UTF-8' ?>
le parseur XML de flash est "non-validant" il ignore purement et simplement cette balise
Si tu as des pb d'accents il vaut mieux eviter de les resoudre avec une bidouille du genre : System.useCodepage = true, et utiliser vraiment le l'UTF-8! plutot que le jeu de caractère du navigateur.

si c'est un fichier xml existant qui sert de source (dans SciTe : file > encoding > UTF-8)
si c'est un fichier xml générée coté serveur il faut preciser le jeu de caractère UTF-8 au moment de la création du xml

bon courage :)
janetdream Messages postés 86 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 21 août 2008
16 déc. 2006 à 05:54
C'est bon j'ai réussis pour la dâte !

Coté xml :

<?xml version= '1.0' encoding='UTF-8' ?>
<main>

<news>
<date value="15-12-06" />
<title value="Enjoy Numero 1 !" />
<texte>
<![CDATA[Personne ne s'y attendait et pourtant ! Enjoy qui etait recement 24eme se retrouve 1er sur les charts Japonnais !!! Une agreable nouvelle qui donne le sourire a plus d'un fan...]]>
</texte>
<links>
<link url="http://www.j-wave.co.jp/original/tokiohot100/" text="Source." />
</links>
</news>
<news>
<date value="15-12-06" />
<title value="Janet-Design Happy Birthday !!!" />
<texte>
<![CDATA[ 1an d'anniversaire pour Janet Dream/Design. Un an pendant lequel mon site n'a eut de cesse de soutenir Janet dans son retour. J'espere de tout mon coeur voir Janet reussir en 2007.]]>
</texte>
<links>
<link url="http://www.janet-design.com" text="Pas de source." />
</links>
</news>

</main>

coté AS :

System.useCodepage = true ;
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("http://janet-design.com/xml/news1.xml");
myXML.onLoad = function(flag) {
if (flag) {
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
tf.html = true;
tf.htmlText += (x.childNodes[i].childNodes[0].attributes.value);
tf.htmlText += (" "+x.childNodes[i].childNodes[1].attributes.value+" ");
tf.htmlText + = (x.childNodes[i].childNodes[2].firstChild);
j = 0;
while (x.childNodes[i].childNodes[2].childNodes[j] != undefined) {

tf.htmlText += (" "+x.childNodes[i].childNodes[3].childNodes[j].attributes.text+" ");
j++;
}

tf.htmlText + = "
";
i++;
}
tf.htmlText += ("

"+i+" news trouvées");
}
};


Par contre les accents ne sont tjs pas gérés (sauf les apostrophes) et je ne parviens tjs pas à inclure des images dans le xml. :(
janetdream Messages postés 86 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 21 août 2008
16 déc. 2006 à 05:27
J'ai essayer aussi d'ajouter la dâte pour chaque news mais sans succés...

Coté xml :

<date value="15-12-06" />
janetdream Messages postés 86 Date d'inscription samedi 18 mars 2006 Statut Membre Dernière intervention 21 août 2008
16 déc. 2006 à 02:32
Tout marche à merveille et merci pour ce tuto qui enfin vaut la peine qu'on y prète attention.

Maintenant ma question est : comment faire pour intégrer des images. J'imagine que c'est quelque chose comme : tf.htmlText += (""+x.childNodes[i].childNodes[2].childNodes[j].attributes.text+"");
j++;
}

Si vous avez une idée précise sur le sujet... Merci ;)

Et pendant qu'on y est pour intégrer des liens sur des images :D
Utilisateur anonyme
19 nov. 2006 à 17:53
j'avais hesité à faire ça... mais trop de math, trop de sciences, et trop scolaire dans l'ensemble... du moins c'est l'impression que j'en ai eu.
Sinon, c'est bien comme etudes?
aerandil Messages postés 7 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 14 avril 2005
19 nov. 2006 à 16:12
DUT Service et Réseau de Communication

Mais la prof à un peu du mal à nous expliquer clairement des fois :p
Utilisateur anonyme
19 nov. 2006 à 15:40
en cours? c'est quoi tes etudes?
aerandil Messages postés 7 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 14 avril 2005
19 nov. 2006 à 15:06
Merci pour ce tuto,

j'avais rien compris au fonctionnement du XML en flash pendant les cours :p
Mais là c'est clair et net, je vais faire tourner ce lien, il pourrait être utile à pas mal de mes camarades ;)
En tout cas bravo.

10/10
Julio001 Messages postés 2 Date d'inscription dimanche 29 janvier 2006 Statut Membre Dernière intervention 8 novembre 2006
8 nov. 2006 à 22:57
Merci pour votre aide aussi rapide !!
Là où y a des balises oui, je mettais tf.htmlText = ...
mais à une place ou c'était du texte simple j'avais laissé tf.Text = ...
je croyais pas que ça causerais de problème mais il semble que oui, ça entre en conflis ou je ne sais pas pour quel raison flash désactive le html à ce moment là.
cs_YopSolo Messages postés 21 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 16 décembre 2006
8 nov. 2006 à 22:30
le truk "bête"
tf.html true << ok c bien mais ensuite tu affecte bien a tf.htmlText "du blablabla gras" ?
Utilisateur anonyme
8 nov. 2006 à 20:36
faudrais voir ton code html...
flash ne supporte que le XHTML strict.
Julio001 Messages postés 2 Date d'inscription dimanche 29 janvier 2006 Statut Membre Dernière intervention 8 novembre 2006
8 nov. 2006 à 17:38
Félicitation BlackWizzard, ce tutoriel est vraiment très bien !!
Par contre, j'ai un petit problème avec le HTML, je l'ai activé mais il ne semble pas être entièrement pris en compte. Jai mis "tf.html = true;" et ça semble correct puisque les balises n'apparaîsse pas et les sauts de ligne se font, les
sont pris en compte. Mais quand j'essaye de faire un lien ou de mettre le texte en bold ça ne marche pas... les balises ,, et ne fonctionne pas et je ne comprend pas pourquoi.
J'utilise Flash 8 et action script 2.0 pourtant.
Quelqu'un peut me dire comment règler ce problème ?
makfly78 Messages postés 7 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 5 novembre 2006
6 avril 2006 à 19:32
Merci pour ce petit cours trés clair.
Avec sa, va faire des merveilles.
tcho
Utilisateur anonyme
10 févr. 2006 à 11:08
envoi ton fla par mail, je le corrige et je le publis en plus de ce cours.
alencredetesyeux Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 2 avril 2006
10 févr. 2006 à 10:55
La variable "i" existe bien .


myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("fichier.xml");
myXML.onLoad = function(succes) {
if (succes) {
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
news1_txt.htmlText += ("");
news1_txt.htmlText += ("NEWS "+(i+1)+" :\n");
news1_txt.htmlText += ("\n titre:"+x.childNodes[i].childNodes[0].attributes.value);
news1_txt.htmlText += ("\n texte:"+x.childNodes[i].childNodes[1].firstChild);
news1_txt.htmlText += ("\n liens: aucun lien pour le moment");
j = 0;
while (x.childNodes[i].childNodes[2].childNodes[j] != undefined) {
news1_txt.htmlText += ("\n LIEN "+(j+1)+" :\n");
news1_txt.htmlText += (" \n lien:"+x.childNodes[i].childNodes[2].childNodes[j].attributes.url);
news1_txt.htmlText += ("\n texte:"+x.childNodes[i].childNodes[2].childNodes[j].attributes.text);
j++;
}
i++;
}
news1_txt.htmlText += ("");
news1_txt.htmlText += (i+" news trouvées");
}
};
_root.btn_dream.onRelease = function() {
news1_txt.htmlText += (i+1);

};



( j'ai mis deux news sur le xml )
Des que je le lance il m'affiche la news 1
et quand je clic sur le bouton , il me r'ajoute la valeur de "i"+1
soit (2)a la suite de la news 1.

NEWS 1 :

titre:Flash MX
texte:Flash MX est un tres bon logiciel...
liens: aucun lien pour le moment
LIEN 1 :

lien:http://www.allboard.net
texte:Allboard Network
LIEN 2 :

lien:http://www.blackwizzard.com
texte:BlackWizzard NetWork
LIEN 3 :

lien:http://www.underground-fr.com
texte:Underground-fr1 news trouvées2

Ce que j'aurais souhaité c'est de faire en sorte a ce que la news 1
disparaisse pour laisser aparaitre la news 2 et ainsi de suite pour les autres futur news .

Désolé si mes questions vous semble tres basic mais , je debute depuis peut .

Merci encore pour tout

MIC
alencredetesyeux Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 2 avril 2006
10 févr. 2006 à 09:58
Ok ... je vais voir ca de ce pas ....

Je te remercie ...

MIC
Utilisateur anonyme
9 févr. 2006 à 23:42
Concernant ton bouton, c'est un probleme de ciblage.
Essai de debuger en ajouter trace(i); pour voir si la variable "i" existe (si elle a une valeur, elle existe, sinon tu aura "undefined").
Tu peut egalement verifier le type de ta variable: trace(typeOf(i));
Le plus simple est d'utiliser le chemin complet de la variable: _root.i par exemple. Il y a des solutions plus propres mais aussi plus complexes, donc commence par ça pour tester, tu verra les variables globales et le reste plus tard ;)
alencredetesyeux Messages postés 23 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 2 avril 2006
9 févr. 2006 à 13:40
bonjour tout le monde
et merci a toi blackwizzard.....

J'aurais une petite question par apport a ce tuto .
voila ,j'aurais aimé faire en sorte a ce que des que je clic sur un
bouton , celui ci aille sur une autre news .

j'ai essayé :

btn_dream.onRelease = function() {
news1_txt.htmlText += (i+1);
news1_txt.htmlText += (j+1);
};
Mais ca ne passe pas .
dois remetre le code en entier (a par la parie new xml=.. load .. )
pour chaque NEWS ?

sinon , j'aurais une autre petite question ?
quelles seraient les raison pour qu'un fichier CSS soit pris en compte une fois sur deux ?

Merci encore pour tout
Et merci a toi black la majoritée de tes tuto mon été très utile .
;-)
cs_YopSolo Messages postés 21 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 16 décembre 2006
4 janv. 2006 à 22:44
Dinofly >> le parseur XML de flash n'est pas validant.
ombr0 Messages postés 21 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 6 décembre 2008
10 mai 2005 à 13:31
Merci pour ce bon tuto sa fait plaisir !!
Dinofly Messages postés 22 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 22 mars 2005
22 mars 2005 à 10:23
Salut,

Quelqu'un sait-il s'il est possible de valider un fichier XML par rapport à une DTD en Flash ?
J'ai cherché et je n'ai rien trouvé, ça me paraît tellement improbable qu'un langage aussi répandu que Flash n'implémente pas cette fonctionnalité que je vous pose quand même la question.

Merci d'avance.
Utilisateur anonyme
14 févr. 2005 à 19:02
ya le code dans les commentaires (date: 06/10/2004 15:43:39)
Sinon regardes mes autres cours sur ce site.
ArChYY Messages postés 7 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 27 janvier 2008
14 févr. 2005 à 14:11
Super se tuto.

Comment insérer les news ensuite dans une case texte (Dynamic text) ?

Suis noob
cs_deneus Messages postés 13 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 19 décembre 2006
13 févr. 2005 à 15:36
si le browser t affiche des <, essaye de remplacer dans ton fichier les "<" par "<"et ">" par ">" ...
sa devrait ptet passer ...
enfin j ai jms utiliser de code html dans mon xml... donc je peu pas t aider plus que sa
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
13 févr. 2005 à 12:31
ba c'est sa que je comprend pas c'est pas qu'il m'affiche des "<" ou des truc du genre il m'affiche bien mes balise style ... mais il me les met en tant que texte normal et ne me les "utilise" pas !
thanae19 Messages postés 30 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 1 août 2005
12 févr. 2005 à 11:13
Bonjour à tous,
J'ai aussi eu du mal pour trouver la solution, mais après plus rechercher et test j'ai trouver, en tout cas dans mon cas.
Dans mon fichier XML j'ai introduit la déclaration suivante:
<!DOCTYPE main
[
<!ELEMENT lesujet (titre, texte)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT texte (#PCDATA)>
]>
Mais il faut que le texte dans l'élément commence absolument par une balise html, sinon ca fait des erreurs.
Ensuite pour les éléments qui n'en ont pas il faut indiquer:
<texte><![CDATA[...blabla...]</texte>

Voila, en tous cas pour moi ca fonctionne bien comme ca.
Enfin j'espere que ca pourra aider.
Utilisateur anonyme
11 févr. 2005 à 21:42
Pour les balises en CDATA, je me souvient que ça ne fonctionne pas... les "<" sont mis en "<".
Du coup, il faut les retransformer.
Pour ça, va voir ma source rssReader, dans le code il y a une fonction pour retransformer en html.
cs_deneus Messages postés 13 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 19 décembre 2006
11 févr. 2005 à 19:33
Alors pour les caractere chinois a partir d un XMl ( je reponds moi meme a ma question ), il faut mettre dans le xml encode="UTF-8"

et si vous utilisez " System.useCodepage = true; "
tous les caractere ne s afficheront pas.

moi pour mon appli en 15 langues, jai utilser l'encodage UTF-8 et "System.useCodepage = true ;" et sa marche impec

et pour les balise dans du XML , j ai lu qu on pouvait appliquer du CSS a partir du XML.. enfin c est a creusé et c est des sources fr.
bonne continuations tout le monde
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
11 févr. 2005 à 17:42
en plus il ne me prend même pas les balises
ou ou rien du tout de mon cdata.... pige pas la...
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
11 févr. 2005 à 17:41
ok merci

mais pour le tf.htmlText c'est raté lorsque je load le cdata d'un noeud qui comporte les balise d'un lien y me le transforme pas en lien...
Utilisateur anonyme
11 févr. 2005 à 16:20
Pour les accents:
System.useCodepage = true;

Pour les liens, meme si ton textfield est en html true, il faut utiliser tf.htmlText "blablabla"; et non pas tf.text = ...
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
11 févr. 2005 à 15:30
autre question comment fait-on pour que des balise html de lien écrite dans un cdata soient convertie en lien ds le textfield de flash pake moi lorsque je charge mon fichier xml ds un textfield ( en ayant fait mon_textfield.html = true; ) et bien il m'écrit mes balise mais ne me les transforme pas en html il me les écrit normalement !!!!
snakeeater1 Messages postés 175 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 7 mars 2008
11 févr. 2005 à 14:52
je comprend pas la... quand je charge un texte écrit dans les CDATA ou même entre 2 balise, flash ne veut pas m'afficher lé "é" ou "è" ou encore "à" .
Une solution dans la salle ?
cs_deneus Messages postés 13 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 19 décembre 2006
5 févr. 2005 à 00:14
Ben j ai essayer tout les "caracteres" proposer par le menu de flash MX mais y a rien a faire, sa n affiche que des points d'interogations.
Si j ouvre le fichier XML avec wordpad, ls caracterer chinois d affichent corectement.... mais une fois dans flash sa passe pas :(

Si tu as une idée, ou que tu pense a un module quil fodrai ajouter avec macromedia Exchange...
Utilisateur anonyme
4 févr. 2005 à 22:36
dans flash, tu a inclus une police qui gere le chinois?
cs_deneus Messages postés 13 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 19 décembre 2006
4 févr. 2005 à 14:28
Cool ton truc BW ;)
Mais pour la gestion du chinois sa marche pas :(

Enfin tu a qasiement fait la meme chose que ce sur quoi je bosse, et chez moi, je doit le faire en plusieurs langues, dont le chinois.
Et tout marche sauf sa ...
Le probleme viendrais soit de l xml qui ne gererait pas chinois (enfin apprament en utulisant encoding="ISO-8859-1" c est sensé etre interpreter corectement) mais dans le flash a part des points d'interogations... il n y a rien.
Si quelqu un a une idée, je suis open
Merci
cs_Draconagi Messages postés 34 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 9 octobre 2006 1
21 janv. 2005 à 12:13
SUPER! BlackWizzard grâce à toi j'ai pu apprendre pas mal.
Tes tutoriaux sont géniaux.
Merci et bonne continuation.
thanae19 Messages postés 30 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 1 août 2005
21 déc. 2004 à 11:38
Super!
Un gran merci, si j'avais pu avoir un tutoriel pareil pour ASP où là on m'a répondu aussi en chinois comme pour rtgiman.
Ici au moin j'ai compris directe.

Thanae19
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
7 nov. 2004 à 23:44
super cool,
merci
Utilisateur anonyme
7 nov. 2004 à 23:01
pour savoir gerer flash/xml, pas compliqué, ce tutor explik les 3/4, apres matte la reference des fonctions de l'object XML dans la doc flash de macromedia, et si tu vx completer: colin moock, carlo blatz (cherche sur amazon)
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
3 nov. 2004 à 18:30
slt BW. j'avais vu ce tuto sur flashkod, et j'avais rien capté.
je viens de le voir sur ton blog, et là c'est le jour et la nuit. bravo (Ce qui se présente bien se comprend aisément)
mon dernier post ds le forum sur le html à du faire marrer pas mal de monde, mais si j'avais trouvé un tuto identique avec l'ensemble des methodes et des propriétés xml présentées et commentées, j'aurais mis une source, au lieu d'un post.

donc si qq connait un site avec la présentation complette du tandem xml/flash , ou un bouquin, merci d'avance.
Utilisateur anonyme
6 oct. 2004 à 15:43
Si ton champs de text dynamique a pour instance 'tf':

myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("file.xml");
myXML.onLoad = function(flag) {
if (flag) {
i = 0;
x = myXML.firstChild;
while (x.childNodes[i] != undefined) {
tf.htmlText += ("--- NEWS "+(i+1)+" ---");
tf.htmlText += (" "+x.childNodes[i].childNodes[0].attributes.value+" ");
tf.htmlText + = (" "+x.childNodes[i].childNodes[1].firstChild+" ");
tf.htmlText + = ("liens:");
j = 0;
while (x.childNodes[i].childNodes[2].childNodes[j] != undefined) {
tf.htmlText += ("\t --- LIEN "+(j+1)+" ---");
tf.htmlText += (""+x.childNodes[i].childNodes[2].childNodes[j].attributes.text+"");
j++;
}
tf.htmlText += "

";
i++;
}
tf.htmlText += ("

"+i+" news trouvées");
}
};

ecrit en live, pas testé, mais je pense que ça devrait fonctionner...
flavioabreu Messages postés 1 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 6 octobre 2004
6 oct. 2004 à 15:35
Salut,

Super ce tutorial, vraiment top ;o) J'ai cherché pas mal de temps une explication comme celle-ci et là, bravo j'ai tout compris.

Par contre une question reste ouverte (ou alors j'ai pas bien compris) : comment insérer les news ensuite dans une case texte (Dynamic text)

Merci pour votre réponse ;o)
ronan972 Messages postés 24 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 25 mars 2010
13 mai 2004 à 06:00
en + :http://www.flashkod.com/code.aspx?ID=22768

sinon merci pour cette introduction 7/10
cs_Queja Messages postés 7 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 6 mars 2004
17 mars 2004 à 10:52
Merci, super 10/10

petite info:
les caractères spéciaux sont traités correctement avec xml, donc ne pas utiliser system.usecode=true;
rtgiman Messages postés 18 Date d'inscription vendredi 6 février 2004 Statut Membre Dernière intervention 5 septembre 2005
19 févr. 2004 à 21:19
j'ai cherché un truc comme ça pendant un sacré bout de temps, j'ai poser des questions à des gens qui m'ont répondu en chinois et ça a pris des plombes, alors que finalement, c'est tout simple.

Merci.
buff@lofluo Messages postés 11 Date d'inscription vendredi 3 octobre 2003 Statut Membre Dernière intervention 5 janvier 2005
6 févr. 2004 à 11:08
Merci bcp pour ton tutorial très bien detaillé et clair grace a toi jai compris comment sa marche.
cs_righton Messages postés 311 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 27 septembre 2014
19 oct. 2003 à 18:40
quel talent !
Wally57 Messages postés 71 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 12 juillet 2006
15 oct. 2003 à 12:30
|||||||||||||| On parle dans mon dos ?
| | |
@ (0) (0) /@ <|
| > |
0 /
\_____/
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
14 oct. 2003 à 13:06
Trop fort Righton... Car sous l'ironie se cache une part de vérité = ) Mème si je supporte pas les sources de ce pauvre Wally qui essaie de participer tant bien que Mal...
cs_righton Messages postés 311 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 27 septembre 2014
14 oct. 2003 à 01:48
ouais à ce propos, un grand merci aux wally et autres sans qui ça aurait été impossible !

;)
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
14 oct. 2003 à 01:13
Oupss, j'avais oublié, on fête la 700ième source (officiel) de Flashkod, Champagne pour tout le monde. Encore un petit effort et on survole JavascriptFr et PHPcs pour finir 3ème du CS. :-))
cs_righton Messages postés 311 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 27 septembre 2014
14 oct. 2003 à 00:54
Super tut !
Pouet ! ;)
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
14 oct. 2003 à 00:29
Sacré boulot BlackWizzard (9/10 pour pas mettre 10 ;-), ça tombe bien, je me remet un peu dans le bain pour ressortir une version XML de mon Mediaplayer afAd : http://www.flashkod.com/code.aspx?ID=14162, ya plein de gens qui souhaitent l'utiliser, autant le rendre autonome ;-)

a+
afaD
Utilisateur anonyme
13 oct. 2003 à 19:27
thx :)
j'ai mis 2 jours a le faire, mais separé par plus de 3 semaines lol
mais je l'ai enfin publié :)
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
13 oct. 2003 à 19:15
Pour ceux qui comprendrait pas le mot "flag" dans le onLoad du XML... Je penses que "succes" est plus simple car cela sous entend :

...load("file.xml");
myXML.onLoad = function(SUCCES) {
if (SUCCES) {
i = 0;
etc....

Encore bravo pour ton courage... ; ) > 6/10 !
Rejoignez-nous