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 :

Probl�me de retour � la ligne


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut Probl�me de retour � la ligne
    Bonjour,

    J'utilise la fonction suivant pour parser du xml :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function loadXmlfromString(XmlString)
    {
    	try{
    		var XmlParser = new DOMParser();
    		return XmlParser.parseFromString(XmlString, "text/xml");
    	}
    	catch(e){
    		alert(e);
    		return false;
    	}
    }
    Le probl�me est que quand j'ai des '\n' dans les valeurs des champs xml, ils sont supprim�s.

    Par exemple j'ai la chaine xml suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var xmlstr = <clients>
    <row name="test" description="bonjour,\n
    je souhaiterai obtenir des informations sur votre produit" />
    </clients>
    Et bien en faisant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    var xml = loadXmlfromString(xmlstr);
    var NodeList = xml.getElementsByTagName("row");
    alert(NodeList[0].getAttribute('description');
    Le '\n' entre 'bonjour,' et 'je' a disparu ...

    Est ce que quelqu'un aurait une id�e de comment r�soudre le probl�me ?
    Merci d'avance

  2. #2
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    comment pourrait-on deviner ce que fait ta fonction parseFromString???

  3. #3
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Bah c'est une fonction de la classe DOMParser et ce n'est pas moi qui ai �crit cette classe, elle est int�gr�e � mozilla.

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par d�faut
    Vois tu un retour en ligne :

  5. #5
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Je ne vois pas tres bien le sens de ta question ...

    En gros dans ma base pas de souci j'ai bien le retour � la ligne et apres la parser je ne l'ai plus.

  6. #6
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    le probl�me c'est que tu vois plus \n ou que ce dernier � �t� remplac� par un saut de ligne dans la source de la page ?

    Si le probl�me est que le \n � �t� remplac� trop tot, met \\n. De cette facon ton alert() va l'afficher correctement, mais j'ai des doutes pour le reste.

  7. #7
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Quand je fais un alert sur mon xmlstr -> pas de probl�me le saut de ligne est bien pr�sent.

    Par contre dans le alert(NodeList[0].getAttribute('description'); il n'est plus pr�sent.

    Et le probl�me est que dans le cas j'ai mis
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var xmlstr = <clients>
    <row name="test" description="bonjour,\n
    je souhaiterai obtenir des informations sur votre produit" />
    </clients>
    comme exemple, mais cette chaine provient d'une base de donn�es via SOAP -> cette chaine n'est donc pas modifiable.

  8. #8
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    C'est normal que le saut de ligne n'Est plus pr�sent dans ton alert, il a �t� converti de \n � un saut de ligne qui est maintenant un saut de ligne dans la source.

    Quand tu fait ton message, il n'y a dont aucun \n puisqu'il est devenu un saut de ligne.

    Et tu n'a qu'a faire un replace sur ta variable, pas besoin de modifier � la source.

  9. #9
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Citation Envoy� par FMaz
    C'est normal que le saut de ligne n'Est plus pr�sent dans ton alert, il a �t� converti de \n � un saut de ligne qui est maintenant un saut de ligne dans la source.

    Quand tu fait ton message, il n'y a dont aucun \n puisqu'il est devenu un saut de ligne.

    Et tu n'a qu'a faire un replace sur ta variable, pas besoin de modifier � la source.
    Oui �a je sais ... c'est ce que je t'ai dit ... avant de parser ca m'affiche le saut de ligne (et donc pas le \n) mais apr�s je n'ai plus de saut de ligne.

    Merci de poster des messages inutiles ...

  10. #10
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    Citation Envoy� par FMaz
    C'est normal que le saut de ligne n'Est plus pr�sent dans ton alert, il a �t� converti de \n � un saut de ligne qui est maintenant un saut de ligne dans la source.

    Quand tu fait ton message, il n'y a dont aucun \n puisqu'il est devenu un saut de ligne.

    Et tu n'a qu'a faire un replace sur ta variable, pas besoin de modifier � la source.
    Autrement dit, tu fait:

    alert("123123123
    blablabla");

    et non pas
    alert("123123123\n
    blablabla");

    ni
    alert("123123123\nblablabla");

    mais bien:
    alert("123123123blablabla");


    Tu peux effectuer un remplacement de caract�re pour ajouter � nouveau un CARACT�RE de saut de ligne (\n) la place des saut de ligne d�j� interpr�t�.

  11. #11
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    FMaz je crois que tu ne comprends pas du tout mon probl�me ...

  12. #12
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    r�-explique, moi je te dis de faire un remplacement des saut de lignes par les caract�re \n et toi tu me dit que tu peux pas changer la source, aucun rapport avec la source, les variables c'est pas pour rien.

    Ou alors j'ai vraiment rien pig�, mais je suis pas plus con qu'un autre...

  13. #13
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Donc je reprend depuis le debut :
    - je recupere des donn�es dans une base MySQL gr�ce � PHP
    - je transmet ces donn�es � javascript via le protocole SOAP (� ce moment l� les donn�es sont au format XML)
    - je recupere ces donn�es et je parse le xml pour s�parer mes champs.

    Donc les donn�es que je r�cup�re via SOAP sont une chaine de caractere au format xml du genre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <clients>
    <row name="test" description="bonjour,
    je souhaiterai obtenir des informations sur votre produit" />
    </clients>
    Avec un saut de ligne entre 'bonjour,' et 'je'.

    Quand je fais un alert sur cette chaine -> le saut de ligne apparait bien.

    Puis j'utilise les fonctions d�finies pr�ceddement pour parser ma chaine XML :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var xml = loadXmlfromString(xmlstr);
    var NodeList = xml.getElementsByTagName("row");
    alert(NodeList[0].getAttribute('description');
    Et lors du alert(NodeList ...), j'ai bien la chaine voulue mais sans le saut de ligne entre le 'bonjour,' et le 'je' ...

    O� est donc pass� ce saut de ligne ???

  14. #14
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    Quand je fais un alert sur cette chaine -> le saut de ligne apparait bien.
    Quelle est la variable que tu affiche dans ton alert() ?

  15. #15
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Citation Envoy� par FMaz
    Quand je fais un alert sur cette chaine -> le saut de ligne apparait bien.
    Quelle est la variable que tu affiche dans ton alert() ?
    xmlstr

  16. #16
    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
    Je ne pense pas que ce soit un probl�me d'aler mais plut�t un param�tre de DOMXML je ne sais pas comment on param^tre un objet DOMXML de Mozilla mais il doit y avoir un truc pour dire
    preverve-white-spaces ou strip-spaces

    A+JYT

  17. #17
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    et si tu met (juste apr�s ton alerte):
    xmlstr.replace("\n","\\n");

    ??

  18. #18
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Bah au dernier alert je n'obtient pas de saut de ligne mais l'affichage d'un '\n'

  19. #19
    Membre chevronn�
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Par d�faut
    hum, donc, pour la derni�re alerte, on est pass� de:

    "bonjour, je souhaiterai obtenir des informations sur votre produit"

    "bonjour,\nje souhaiterai obtenir des informations sur votre produit"

    ??

  20. #20
    Membre exp�riment� Avatar de AurelBUD
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    202
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2004
    Messages : 202
    Par d�faut
    Ouep

Discussions similaires

  1. Tabulations : probl�me de retour � la ligne
    Par Mattius007 dans le forum Mise en forme
    R�ponses: 3
    Dernier message: 05/06/2007, 17h36
  2. [utilitaire bcp]probl�me avec retour � la ligne
    Par m-mas dans le forum MS SQL Server
    R�ponses: 1
    Dernier message: 24/05/2007, 15h10
  3. R�ponses: 1
    Dernier message: 07/04/2007, 22h21
  4. probl�me de retour � la ligne
    Par frol dans le forum Mise en page CSS
    R�ponses: 7
    Dernier message: 02/12/2006, 14h35
  5. [MySQL] probl�me de retour � la ligne.
    Par NPortmann dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 29/09/2005, 14h43

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