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

JavaScript Discussion :

[DOM] Load XML non complet


Sujet :

JavaScript

  1. #1
    darthmower
    Invit�(e)
    Par d�faut [DOM] Load XML non complet
    Bonjour,

    J'ai un probl�me que je n'ai jamais eu et qui me surprend vraiment beaucoup.

    J'ai un fichier xml comme ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!DOCTYPE monde SYSTEM "monde.dtd">
    <monde>
    	<pays nom="france" nombre="3">
    		<departement numero="1" coordonnees="283, 201, 293, 198, 314, 209, 312, 222, 305, 232, 299, 223, 288, 226, 281, 220">Ain</departement>
    		<departement numero="2" coordonnees="233, 44, 255, 45, 253, 67, 243, 71, 239, 89, 231, 81, 228, 81, 224, 73, 228, 69, 228, 55">Aisne</departement>
    		<departement numero="3" coordonnees="226, 189, 250, 200, 248, 217, 223, 213, 222, 206, 213, 211, 204, 205">Allier</departement>
    	</pays>
    </monde>
    J'ai le dtd qui va bien et qui fonctionne je peux l'assurer puisque mon script js ne me rend aucune erreur quand je load.
    Le probl�me est que cela ne me charge que <monde></monde> et pas ce qu'il y a � l'int�rieur puisque je n'arrive � acceder qu'� monde.

    Je n'ai m�me pas de js sp�cifique � vous montrer puisque pour l'instant je ne fais que tester mon xml via des console.log.

    En js j'ai test� cela:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    console.log(xml.firstChild.nodeName);
    Qui me donne: monde

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    console.log(xml.firstChild.firstChild.nodeName);
    Qui fait rien

    J'aurais voulu savoir si quelqu'un saurait pourquoi j'ai ce soucis?

    Merci de votre aide,

    Gripsou

    PS le dtd au cas o�:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    <!ELEMENT monde (pays+)>
    <!ELEMENT pays (departement*)>
            <!ATTLIST pays nom ID #REQUIRED nombre CDATA #REQUIRED>
    <!ELEMENT departement (#PCDATA)>
            <!ATTLIST departement numero ID #REQUIRED coordonees CDATA #REQUIRED>
    Derni�re modification par darthmower ; 10/08/2008 � 18h18.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    sous ie le premier noueud est le texte vide entre les 2 tag!
    <monde><!--texte vide-->
    <pays nom="france" nombre="3">
    donc sous le noeud "monde"

  3. #3
    darthmower
    Invit�(e)
    Par d�faut
    Pour l'instant j'en suis qu'au test donc j'ai fait que pour firefox3 et cela ne marche pas avec firefox3 (j'utilise firebug pour faire mes tests)

    Tu voudrais dire qu'il faut coller tout mon xml?

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Oui, parcequ'il me semble que c'est plut�t FF et non IE qui rajoute des noeuds vides...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    darthmower
    Invit�(e)
    Par d�faut
    Ok merci, je testerais �a ce soir, mais je comprends pas bien pourquoi il prend ces sauts de lignes, espaces en compte? Il aime les \n et compagnies?

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    mets un break point et regarde les valeurs...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(xml.firstChild.childNodes[1].nodeName);

  7. #7
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Non, c'est la structure du DOM qui veut �a.
    Au regard du DOM FF (qui est � priori le plus conforme aux recommandations du W3C, mais c'est sujet � pol�miques) tout dans un document est un noeud alors que pour IE, les sauts de lignes et espaces ne le sont pas.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  8. #8
    darthmower
    Invit�(e)
    Par d�faut
    J'ai d�j� test� tout cela mais le comportement de console.log est mieux car il donne plus d'informations que alert. Et de lus cela donne undefined ceci si mes souvenirs sont bon.

  9. #9
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    il me retourne pays. mais j'ai ff2

  10. #10
    darthmower
    Invit�(e)
    Par d�faut
    Je comprends mieux pourquoi dans firebug et lorsque je regardais les noeuds etc via dom il me mettait \n.... ( . = espace). Donc je pense que cela marchera si je colle tout. Cependant lisibilit� = 0. Mais je pense g�n�r� un flux xml via des requ�tes sur bdd donc au final �a sera bon (plus de fichier).

    Tu utilises quelle mani�re de loader le fichier xml?

  11. #11
    darthmower
    Invit�(e)
    Par d�faut
    Je comprends plus de trop. J'ai appliqu� la solution tout coll� et apparemment firebug lorsque je le parcours reconnait tr�s bien mon fichier xml, cependant d�s que je veux appliquer des fonctions DOM qui vont cherch� plus loin que monde il me met undefined

    exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(xml.firstChild.childNodes[1].nodeName);
    ou

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(xml.firstChild.firstChild.nodeName);
    alors que si je reste au niveau de monde il accepte:


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(xml.firstChild.nodeName);
    Ca me renverra monde.

    j'avoue ne pas trop comprendre le probl�me alors que firebug me liste bien mes firstChild, lastChild, nextSibling etc..

  12. #12
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    alert(xml.documentElement.firstChild.childNodes[1].nodeName);
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  13. #13
    darthmower
    Invit�(e)
    Par d�faut
    Merci tu es g�nial Bovino, peux-tu juste m'expliquer un peu pourquoi il faut utiliser documentElement?

  14. #14
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Ca correspond au root de ton document XML.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  15. #15
    darthmower
    Invit�(e)
    Par d�faut
    Merci Dieu Gnu! u_u *fait une offrande en remerciement*

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [DOM] Validation xml avec PHP
    Par thefaycal dans le forum Biblioth�ques et frameworks
    R�ponses: 6
    Dernier message: 26/01/2006, 21h15
  2. [DOM] Parsage XML en PHP 4
    Par Huntress dans le forum Biblioth�ques et frameworks
    R�ponses: 7
    Dernier message: 07/12/2005, 22h24
  3. [JAXB/DOM] Parser Xml : possible avec path reel et non uri !
    Par Jaxofun dans le forum Servlets/JSP
    R�ponses: 7
    Dernier message: 01/08/2005, 10h04
  4. Probl�me : XML non valide...
    Par loupdeau dans le forum XML/XSL et SOAP
    R�ponses: 2
    Dernier message: 08/04/2005, 15h12

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