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 :

xml et javascript


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2011
    Messages
    442
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par d�faut xml et javascript
    Bonjour,

    J'ai une question tr�s b�te. Attention :

    J'aimerais ins�rer du code xml dans un fichier html � partir d'un fichier javascript.

    Pour le moment j'ai �a :
    index.html : contient notamment une balise <truc id="machin">
    js.js : $(#machin).append( monXML );

    jusque l�, tout va bien. Mon probl�me vient maintenant :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    monXML = "<balise>....\n\
        ligne....\n\
        ligne2....\n\
        ....    \n\
        ligne100...\n\
    <\balise>"
    voil�.

    Mon probl�me, �videmment, c'est ces tonnes de \n\ que je compte pas m'amuser � taper. Sans compter que cette m�thode m'oblige � changer tous les "attributs" en 'attributs'. Bref, c'est moche.

    Une solution serait de cr�er un fichier xml externe, mais comme le xml que je vais ins�rer sera modul� par des variables, du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    monXML = "<balise>..."+variable1+"...codeHTML..."+variable2+...etc...</balise>"
    Du coup, comment je fais?

    Merci

  2. #2
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Citation Envoy� par Sharcoux Voir le message
    Bonjour,

    J'ai une question tr�s b�te.
    J'aimerais pas �tre l� le jour o� tu poseras une question compliqu�e

    Bon. Je suis pas s�r d'avoir compris ta question, mais essaye ceci :
    Code JS : S�lectionner tout - Visualiser dans une fen�tre � part
    monXML.replace(/$/gm, '\\n\\')

    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  3. #3
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2011
    Messages
    442
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par d�faut
    Merci. Malheureusement, le navigateur est incapable d'interpr�ter ceci :

    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
     
    monXML = "<tr class="your_listbox-data-line-5 DataB">
     
                                                                <td class="listbox-table-select-cell">
                                                                    <input type="checkbox"
                                                                            id="your_listbox_cb_8700"
                                                                            name="uids:list" value="8700" />
                                                                </td>
     
                                                                <td class="listbox-table-data-cell">
                                                                    <a href="...">Web Table</a>
                                                                </td>
     
                                                                 ...
     
                                                            </tr>";
    Du coup, je doute que monXML.replace(/$/gm, '\\n\\') ait un quelconque effet...
    Mais merci d�j� pour l'id�e, �a pourrait resservir

  4. #4
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Ah oui d'accord. Il suffit d'�chapper les guillemets (et les sauts de ligne, bien s�r) :
    Code JS : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var monXML = "<tr class=\"your_listbox-data-line-5 DataB\">\
    	<td class=\"listbox-table-select-cell\">\
    		 <input type=\"checkbox\"\
    					id=\"your_listbox_cb_8700\"\
    					name=\"uids:list\" value=\"8700\" />\
    	</td>\
     \
    	<td class=\"listbox-table-data-cell\">\
    		 <a href=\"...\">Web Table</a>\
    	</td>\
     \
    	 ...\
     \
    </tr>";

    Sinon pour ton histoire de XML avec variables, �a me semble plus adapt� de faire un traitement XSL c�t� serveur, et de r�cup�rer le r�sultat avec AJAX.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  5. #5
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2011
    Messages
    442
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par d�faut
    Le probl�me, c'est que sur 100 lignes de codes, je vais p�ter un c�ble bien avant d'avoir atteint la fin du xml...

    Bon, tant pis. Je vais essayer de d�composer le xml en fragments dans un fichier externe, et de caler mes variables dans tout �a.

    Merci pour le coup de main.

  6. #6
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Salut

    encore une fois pourquoi en passer par des cha�nes de caract�res ?

    il est plus simple d'utiliser DOM est d'ajouter des �l�ments
    avec un petite lib ad hoc (ou m�me avec les m�thodes DOM)
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    document.Html(
        {
          lang:'fr',
          xmlns:'http://www.w3.org/1999/xhtml',
          'xml:lang':'fr'
        },null,
        {
          prepare: function() {
            alert(this.nodeName + ': ' + this.clientWidth + ' X ' + this.clientHeight);
          }
        })
        .Head({'xmlns:x':'urn:org.truc.nc'})
          .Title('Test de page  DOM').parentNode.parentNode
        .Body(null,{backgroundColor: 'rgb(128,0,0)'})
          .H1('Hello',null,{margin:'auto', width:'150px', textAlign:'center', backgroundColor: 'rgb(255,255,255)'}).parentNode
          .P({
            'class':'corpus',
            id:'150',
            title:'corps',
            lang:'fr',
            'xml:lang':'fr',
            dir:'rtl'
          },{
            margin:'auto',
            padding:'15px',
            width:'90%',
            height:document.body.clientHeight - 100,
            textAlign:'left',
            backgroundColor: 'rgb(255,255,255)'
          },{
            onclick: function() {
              document.html.prepare();
            }
          }).B('World');
    sinon l'utilisation de ' et " suffit � �viter un certain nombre de \\
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    monXML = '<tr class="your_listbox-data-line-5 DataB">
      <td class="listbox-table-select-cell">
        <input type="checkbox" id="your_listbox_cb_8700" name="uids:list" value="8700" />
      </td>
      <td class="listbox-table-data-cell">
        <a href="...">Web Table</a>
      </td>
    </tr>';
    A+JYT

  7. #7
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2011
    Messages
    442
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par d�faut
    pourquoi en passer par des cha�nes de caract�res ?
    parce que le but est de pouvoir faire un copier/coller. Si je dis que je vais p�ter un cable si je dois ajouter \ � la fin de chaque ligne parce que j'en ai une centaine, t'imagines bien que je vais pas m'amuser � recr�er tout le html de z�ro avec des commandes DOM !

    sinon, pour ton autre remarque, c'est vrai, mais le code exact serait plut�t :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    monXML = '<tr class="your_listbox-data-line-5 DataB">\
      <td class="listbox-table-select-cell">\
        <input type="checkbox" id="your_listbox_cb_8700" name="uids:list" value="8700" />\
      </td>\
      <td class="listbox-table-data-cell">\
        <a href="...">Web Table</a>\
      </td>\
    </tr>';
    Merci quand m�me pour ta r�ponse

  8. #8
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par Sharcoux Voir le message
    parce que le but est de pouvoir faire un copier/coller. Si je dis que je vais p�ter un cable si je dois ajouter \ � la fin de chaque ligne parce que j'en ai une centaine, t'imagines bien que je vais pas m'amuser � recr�er tout le html de z�ro avec des commandes DOM !
    ...
    Ben si c'est extr�mement pratique et efficace
    tu charge �a
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    document.HtmlTag = function(tagname, attributes) {
      var tag = document.extendElement(document.createElement(tagname));
      if (this != document) {
        this.appendChild(tag);
      }
      return tag.set(attributes);
    };
     
    document.Text = function(text) {
      var tag = document.createTextNode(text);
      if (this != document) {
        this.appendChild(tag);
      }
      return this;
    };
     
    document.extendElement = function(node) {
      node.set = function(attributes) {
         if (typeof(attributes) != 'undefined') {
            for (key in attributes) {
               this.setAttribute(key, attributes[key]);
            }
         }
         return this;
      };
      node.HtmlTag = document.HtmlTag;
      node.InlineTag = function(tagname, text, attributes) {
        var tag = this.HtmlTag(tagname, attributes);
        if ((typeof(text) != 'undefined') && (text != null)) {
           tag.Text(text);
        }
        return tag;
      };
      node.Text = document.Text;
      node.NoBreakSpace  = function() {
        return this.Text(String.fromCharCode(160));
      };
      return node;
    };
    et ensuite tu n'a qu'� faire
    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
    var aVar='ceci est un test pour montrer comment inclure une variable dans le code xml généré sans pb de "'
     
    xml = document.HtmlTag('xml')
    xml
      .HtmlTag('tr',{class:'your_listbox-data-line-5 DataB'})
        .HtmlTag('td')
          .HtmlTag('input', {id: 'your_listbox_cb_8700', name: 'uids:list', value: '8700'}).parentNode
          .parentNode
      .parentNode
      .HtmlTag('tr', {class: 'listbox-table-data-cell'})
        .Text('la variable dans un attribut du tag')
        .InlineTag('a', 'Web Table', {href: '...', att: aVar}).parentNode
        .Text('La variable directement dans le xml ')
        .Text(aVar)
     
    a = xml.innerHTML
    console.log(a)
    et voici ce que �a donne
    Code xml : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <tr class="your_listbox-data-line-5 DataB">
      <td>
        <input id="your_listbox_cb_8700" name="uids:list" value="8700"></td>
    </tr>
    <tr class="listbox-table-data-cell">
      la variable dans un attribut du tag
      <a href="..." att="ceci est un test pour montrer comment inclure une variable dans le code xml généré sans pb de & quot;">Web Table</a>
      La variable directement dans le xml ceci est un test pour montrer comment inclure une variable dans le code xml généré sans pb de "
    </tr>

    A+JYT

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

Discussions similaires

  1. Lire un xml avec javascript et generer code html ?
    Par zevince dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 04/04/2006, 11h45
  2. [AJAX] R�ponse XML - Functions Javascript
    Par ..:: Atchoum ::.. dans le forum G�n�ral JavaScript
    R�ponses: 24
    Dernier message: 24/01/2006, 03h02
  3. Parser du XML en javascript
    Par sylsau dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 23/01/2006, 02h49
  4. DOM - naviguer dans un XML en javascript
    Par hpfx dans le forum G�n�ral JavaScript
    R�ponses: 36
    Dernier message: 08/11/2005, 22h43
  5. xml et javascript
    Par mati dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 09/08/2005, 15h06

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