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

XML/XSL et SOAP Discussion :

[XML]caractère de séparation des contenus des éléments


Sujet :

XML/XSL et SOAP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut [XML]caractère de séparation des contenus des éléments
    Bonjour,
    je m'appuie sur la SDK MSXML de Microsoft, en disons que j'ai l'arbre XML suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <A>texte de A
       <B>texte de B
          <C>texte de C
          </C>
       </B>
    </A>
    Si j'applique la méthode get_text () sur le noeud A, elle me renvoie la chaine suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    texte de A*texte de B*texte de C
    Où *, en passant en debug correspond à la chaine suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    0x0A 0x09 0x09 0x20
    Ma question est la suivante :
    Est-ce que ce séparateur est une norme de séparation du contenu de différents Elements ?
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    Je reformule ma question, ce séparateur est-il propre à un codepage ou bien est-il un séparateur unique reconnu par UTF-8 ?

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    cela provient du fait qu'il y a un noeud texte qui contient le retour-chariot et une tabulation après l'élément <A>, et un autre noeud qui contient un retour-chariot suivi d'un espace après l'élément <B>. Ces noeuds textuels te sont remontés par get_text(), à l'instar des noeuds textuels contenus dans les éléments <A>, <B> et <C>.

    Pour t'en débarasser, deux possibilités :
    - les filtrer par programmation
    - si tu as la main sur la création du fichier XML, le produire sans introduire de caractères de présentation tels que les tabulations et les retour-chariots ; moins lisible pour un humain, mais sans noeuds "parasites".

    [EDIT] En principe, le comportement par défaut est que ces noeuds sont supprimés à la lecture du flux XML. Il est donc étonnant de les retrouver là... Tu n'aurais pas modifié ce omportement par défaut, avec une ligne du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDocXML.preserveWhiteSpace = true;

Discussions similaires

  1. Ensemble des réels, des complexes, des entiers naturels
    Par ANOVA dans le forum Mathématiques - Sciences
    Réponses: 5
    Dernier message: 08/10/2009, 12h58
  2. Réponses: 0
    Dernier message: 08/01/2009, 22h57
  3. Réponses: 19
    Dernier message: 20/12/2006, 10h15
  4. [MySQL] Utilisation des fonctions des récupérations des données
    Par Konrad Florczak dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/10/2006, 15h17
  5. Gestion des majuscules des miniscules des accent
    Par issam16 dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 14h21

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