IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[XML Socket] Débutant


Sujet :

Flash

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 56
    Points
    56
    Par défaut [XML Socket] Débutant
    Bonjour, voiçi mon code :

    con=new XMLSocket()
    con.connect(ip,1024)
    connexion.onPress=function(){
    con.send("<test t=\"2\"><description>sdsqdsq</description></test>")

    }


    con.onXML=function(a){
    for(i=0;i<10;i++){
    trace(a.childNodes[i].childNodes[0].firstChild)
    }
    trace(newline)
    }
    Le problème c'est que trace renvoie au premier clic

    sdsqdsq
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    => a.childNodes[0].childNodes[0].firstChild

    puis

    undefined
    sdsqdsq
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    => a.childNodes[1].childNodes[0].firstChild

    mais après, le texte reste bloqué à a.childNodes[1].childNodes[0].firstChild
    alors que logiquement (je crois), il devrait passer à

    a.childNodes[2].childNodes[0].firstChild
    puis
    a.childNodes[3].childNodes[0].firstChild

    ..

    et trace devrait renvoyer :
    undefined
    undefined
    sdsqdsq
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    undefined
    Mais c'est pas le cas.
    J'aimerai bien savoir pourquoi..

    Merçi d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 56
    Points
    56
    Par défaut
    help

  3. #3
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Bonsoir,
    Peux tu nous montrer ce que ce code te retourne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    con.onXML=function(a)
    {
      trace(a);
    }
    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 56
    Points
    56
    Par défaut
    ca retourne

    <test t="2"><description>sdsqdsq</description></test>

  5. #5
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    et faire ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(i=0;i<10;i++)
    {
      trace(a.childNodes[i].childNodes[0].firstChild)
    }
    ne te semble pas bizard avec ce que tu reçoit ?


    PS au lieu de tu devrais

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par CR_Gio
    et faire ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(i=0;i<10;i++)
    {
      trace(a.childNodes[i].childNodes[0].firstChild)
    }
    ne te semble pas bizard avec ce que tu reçoit ?


    PS au lieu de tu devrais
    ????

    les deux smileys reviennent au même, puisqu'il s'agit de faire un "up".. (et si "" pour consulter l'aide, j'avais déja cherché des tutoriaux mais trouvé aucun sur ce que je voulais : comment les noeuds sont gérés ? c'est pas pareil que la lecture d'un simple *.xml ??)

    Par contre j'ai pas compris le tien..
    Qu'est ce que je devrais trouver bizzare ?

    Que le nombre soit "10" ? Si c'est ça, je sais que je reçois qu'une donnée et le reste sera "undefined"
    Le "i<10" était pour savoir la place de "sdsqdsq" dans les 10 valeurs retournées. (c'est même dit que je croyais que le noeud changeait ..)

    Mais je comprends pas comment le serveur gère ces données :

    imaginons que je clique quatre fois sur le bouton "connexion"

    con=new XMLSocket()
    con.connect(ip,1024)
    connexion.onPress=function(){
    con.send("<test t=\"2\"><description>sdsqdsq</description></test>")

    }
    pour récupérer les infos envoyées au 4ème clic, comment dois je faire ?
    pourquoi
    "trace(a.childNodes[1].childNodes[0].firstChild" marche
    et non pas
    "trace(a.childNodes[3].childNodes[0].firstChild" ?


    alors que pour lire un fichier xml comme celui là, "trace(a.childNodes[3].childNodes[0].firstChild)" marche pour lire la "description" du 4ème "test"?
    <?xml version='1.0' encoding="UTF-8" ?>
    <test ><description>sdsqdsq</description></test>
    <test ><description>sdsqdsq</description></test>
    <test ><description>sdsqdsq</description></test>
    <test ><description>sdsqdsq</description></test>



    Si j'ai tout faux, merçi de m'expliquer.. j'ai au moins l'excuse du débutant et celle d'avoir bien cherché

  7. #7
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    comment les noeuds sont gérés ? c'est pas pareil que la lecture d'un simple *.xml ?
    Si

    Qu'est ce que je devrais trouver bizzare ?
    Afficher des donnée qui n'existe pas.

    Mais je comprends pas comment le serveur gère ces données
    Tu utilise quel server ?

    pour récupérer les infos envoyées au 4ème clic, comment dois je faire ?
    pourquoi
    "trace(a.childNodes[1].childNodes[0].firstChild" marche
    et non pas
    "trace(a.childNodes[3].childNodes[0].firstChild" ?
    Si le server te retourne toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <test t=\"2\"><description>sdsqdsq</description></test>
    tu aurra toujours et seulement a.firstChild de disponible/definie. Si ton code "marche", je pense que c'est par ce que ton fichier xml(celui que tu reçoit du server, c'est a dire, ce que tu recoit dans onXML()) n'est pas vraiment conforme au modele xml de niveau 1....
    Voici un exemple conforme. A noter que le parseur xml de flash n'est pas conforme donc <?xml version="1.0"?> ne sert a rien car flash ne connai qu'un methode/façon de parser les xml. et je parle meme pas du dtd...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0"?> 
    <doc>
      <test id="1">sdsqdsq</test>
      <test id="2">sdsqdsq</test>
    </doc>
    Ce qui est important est ce qu'il y a de souligné: le minimum syndical.



    ____________________________________




    alors que pour lire un fichier xml comme celui là, "trace(a.childNodes[3].childNodes[0].firstChild)" marche pour lire la "description" du 4ème "test"?
    <?xml version='1.0' encoding="UTF-8" ?>
    <test ><description>sdsqdsq</description></test>
    <test ><description>sdsqdsq</description></test>
    <test ><description>sdsqdsq</description></test>
    <test ><description>sdsqdsq</description></test>
    Tu es conscient que le "fichier" xml ce-dessus ne correspond pas a ce que tu recoit de onXML()?
    Tu le dit toit meme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a.childNodes[3].childNodes[0].firstChild
    correspond a la 4eme ligne celle que j'ai colorié en rouge dans le "xml" ci-dessus. Ci cette ligne n'existe pas dans ton onXML() ( car tu recoit que <test ><description>sdsqdsq</description></test> comment veux tu pouvoir l'afficher ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
    Citation Envoyé par CR_Gio
    Bonsoir,
    Peux tu nous montrer ce que ce code te retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    con.onXML=function(a)
    {
      trace(a);
    }
    merci
    Citation Envoyé par too_slow
    ca retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <test ><description>sdsqdsq</description></test>
    Je te renvoi a ca : http://wiki.media-box.net/documentation/flash/XML essai toute les fonctions de la class et essai de comprendre

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 56
    Points : 56
    Points
    56
    Par défaut
    ok merçi pour le lien mais je ne comprend pas comment gérer les données ..

    Tu es conscient que le "fichier" xml ce-dessus ne correspond pas a ce que tu recoit de onXML()?
    Non je l'étais pas, je croyais que les infos renvoyées étaient "assemblées" ensemble.

    Ca explique que l'utilisation de i<10 est inutile puisque ca renvoie toutjours la même chose


    Si le server te retourne toujours :
    Code :

    <test t=\"2\"><description>sdsqdsq</description></test>
    mais ca explique pas pourquoi pour pouvoir afficher "sdsqdsq"
    ce même "i" varie de "0" à "1" alors que normalement il devrait avoir qu'une seule façon de l'afficher

    on va dire à moitié résolu, merçi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML][XSLT][débutant] chaine de caractère!
    Par ALCINA dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/03/2006, 10h07
  2. [XML][XSLT] Débutant {Probléme avec For-each-group}
    Par Silvia12 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 29/01/2006, 21h38
  3. [xslt] Utilisation Xml-Image [Débutant]
    Par AlphonseBrown dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/11/2005, 14h49
  4. [xml+xslt] débutant - multiplication de nombre
    Par Silvia12 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/11/2005, 11h04
  5. [XML][C++] Débutant , comment démarrer ?
    Par Clad3 dans le forum Bibliothèques
    Réponses: 17
    Dernier message: 28/03/2005, 19h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo