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 :

Accents fichier XML


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 101
    Par défaut Accents fichier XML
    Bonjour,

    Je débute un peu au niveau XML.

    J'ai un fichier formaté de cette façon (je ne peux pas le modifier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="utf-8" ?>
    <population>
    	<individu>
    		<prenom>Zoé</prenom>
    		<nom>Dupond</nom>
    	</individu>
    </population>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $xml = simplexml_load_file('urlfichier.xml');
    foreach($xml->individu as $individu) {
    	echo 'Prenom : ' .$individu->prenom.'<br>';
    	echo 'Nom : ' ,$individu->nom.'<br>';
    }
    ?>
    Le souci est que je n'obtiens rien. En galérant un peu, j'ai vu qu'en mettant "Zoe" à la place de "Zoé" ça marchait, le soucis vient donc des accents.
    Sachant que je ne peux pas modifier le fichier source, comment puis-je le traiter ?

    Merci d'avance pour vos réponses

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    As-tu tenté de filtrer les données avec quelque chose du style
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $xml = simplexml_load_file('urlfichier.xml');
    foreach($xml->individu as $individu) {
    	echo 'Prenom : ' .utf8_decode($individu->prenom).'<br>';
    	echo 'Nom : ' ,utf8_decode($individu->nom).'<br>';
    }
    ?>
    ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 101
    Par défaut
    Oui.

    En fait après plusieurs tests, le problème se situe en amont, le fonction simplexml_load_file n'arrive même pas à lire le flux xml (j'ai testé via un print_r)

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Est-ce que tu pourrais vérifier que ton fichier est bien du même encodage que celui déclaré?

    Si il y a un erreur d'encodage, le parsage echoue et il est normal que tu n'es rien en sortie.
    Tu peux essayer de charger ton url en text pour éventuellement la retraiter avant de la parser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($xml = file_get_contents($url))
       {
          //   Do some parsing here
          //   -->
     
          $xml = simplexml_load_string($xml);
          return $xml;
       }

  5. #5
    Membre éprouvé
    Homme Profil pro
    Fortune teller
    Inscrit en
    Octobre 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Fortune teller

    Informations forums :
    Inscription : Octobre 2007
    Messages : 110
    Par défaut Accents
    Remplace é par &#233;

    ou mets :

    encoding="iso-8859-1" au lieu de utf-8

  6. #6
    Membre éprouvé
    Homme Profil pro
    Fortune teller
    Inscrit en
    Octobre 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Fortune teller

    Informations forums :
    Inscription : Octobre 2007
    Messages : 110
    Par défaut Rectif
    ça ne sort pas comme je l'ai écrit.
    Anyway, il faut écrire :

    qui est l'entité caractère de é.

Discussions similaires

  1. Parser un fichier XML contenant des accents
    Par Shadew dans le forum Général Python
    Réponses: 4
    Dernier message: 17/06/2015, 18h27
  2. [DOM4J] Problème pour "parser" un fichier XML avec accents
    Par mlny84 dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 26/11/2007, 19h06
  3. Réponses: 3
    Dernier message: 07/06/2007, 13h22
  4. Réponses: 14
    Dernier message: 08/08/2006, 11h31
  5. Réponses: 1
    Dernier message: 22/12/2005, 15h45

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