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 :

Obtenir le contenu int�gral d'une balise XML


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Consultant E-Business
    Inscrit en
    Mai 2007
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Consultant E-Business

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Par d�faut Obtenir le contenu int�gral d'une balise XML
    Bonjour,
    Travaillant � base d'AJAX pour une interface admin, je rencontre un probl�me qui commence s�rieusement � m'agacer.

    Pour le texte principal de pages, je souhaite r�cup�rer du contenu dans un doc XML dont voici un exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <contenu>
    <pageContenu>liens</pageContenu>
     
    <texteContenu>
    Un morceau de texte...
    <a href="azerty">
    <b>Un nom de site...</b>
    </a>
    <br/>
    ...Suite du contenu...
    </texteContenu>
    </contenu>
    Je cherche � r�cup�rer enti�rement le contenu de la balise <texteContenu>. C'est-�-dire, j'aimerai son texte et ses fils en int�gralit�.
    Ceci ne me ram�ne que le texte de la balise se trouvant avant la toute premi�re balise (fils) de <texteContenu> ("Un morceau de texte..."):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    doc.getElementsByTagName('texteContenu').firstChild.nodeValue
    Ma question est donc, avant de continuer � me casser la t�te � coups de childNodes etc, y a-t-il un moyen de r�cup�rer tout le contenu de la balise, y compris ses fils et le texte entre des fils et apr�s le dernier des fils?

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par d�faut
    Ca revient � s�rialiser un noeud. Sous IE, les noeuds ont une propri�t� "xml" qui retourne la repr�sentation textuelle du noeud, mais comme FF ne poss�de pas une telle propri�t�, tu peux la simuler comme ca:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function serializeNode(node)
    {
     if(XMLSerializer)
     {
       return new XMLSerializer().serializeToString(node);
     }
     else
       return node.xml;
    }

  3. #3
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    doc.getElementsByTagName('texteContenu')[0].innerHTML
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  4. #4
    Expert confirm�
    Avatar de le_chomeur
    Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2006
    Messages
    3 653
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 3 653
    Par d�faut
    doc.getElementsByTagName('texteContenu') ?
    tu r�cup�res l'int�gralit� , apr�s a toi de le parser ...

  5. #5
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par d�faut
    @SF sur du XML, pas sur le DOM de la page

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    avec un documentfragment
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    var frag = document.createDocumentFragment();
    frag.innerHTML=doc.getElementsByTagName('texteContenu')[0].innerHTML
    et du coup tu peux renaviguer ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre averti
    Profil pro
    Consultant E-Business
    Inscrit en
    Mai 2007
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Consultant E-Business

    Informations forums :
    Inscription : Mai 2007
    Messages : 39
    Par d�faut
    Eh bien un grand merci mon probl�me est r�solu.

    @le_chomeur: ma question �tait justement de ne pas avoir � parser le noeud, c'est assez fastidieux et c'est toujours mieux d'essayer de trouver une solution propre et rapide.

    @SpaceFrog: j'ai essayer ta solution mais je �a n'a pas march� =( merci quand m�me!

    @DoubleU: la serialisation fonctionne tr�s bien, merci beaucoup!

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    function toto(...)
    {
    ...
    document.getElementById('azerty').value =
    serializeNode(doc.getElementsByTagName('texteContenu')[0]);
    ...
    }
     
    function serializeNode(node)
    {
    	if(XMLSerializer)
    	{
    		return new XMLSerializer().serializeToString(node);
    	}
    	else
    		return node.xml;
    }

  8. #8
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    xml = evil
    bon j'ai encore une marge de progression ^^
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

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

Discussions similaires

  1. [XML] Recup�rer le contenu d'une balise XML en PHP
    Par Higestromm dans le forum Biblioth�ques et frameworks
    R�ponses: 2
    Dernier message: 15/07/2010, 09h57
  2. obtenir le contenu int�gral d'une div
    Par goldor dans le forum G�n�ral JavaScript
    R�ponses: 14
    Dernier message: 05/02/2009, 18h31
  3. [SimpleXML] Récupérer contenu d'une balise XML contenant du HTML
    Par samichon dans le forum Biblioth�ques et frameworks
    R�ponses: 4
    Dernier message: 24/08/2007, 08h36
  4. [AJAX] r�cup�rer contenu d'une balise xml
    Par Braillane dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 27/06/2007, 08h08
  5. [xsl] mauvaise interpr�tation du contenu d'une balise XML
    Par C�dric B. dans le forum XSL/XSLT/XPATH
    R�ponses: 2
    Dernier message: 27/01/2006, 12h59

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