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

Bibliothèques et frameworks PHP Discussion :

[XML] Lecture d'un XML avec fgets dans une chaine


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Points : 51
    Points
    51
    Par défaut [XML] Lecture d'un XML avec fgets dans une chaine
    bonjour,
    par un script PHP5, je cherche à écrire dans une chaine de caractères une structure XML lue dans un fichier texte 'test.txt' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <continents>
      <europe>
        <pays3>France</pays3>
        <pays>Belgique</pays>
        <pays>Espagne</pays>
      </europe>
      <asie>
        <pays>Japon</pays>
        <pays>Inde</pays>
      </asie>
      <asie />
    </continents>
    avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	$fh = fopen('test.txt','r');
    	$chaineXML = '';
    	while (!feof($fh)) {
    		 $chaineXML .= fgets($fh);
    	}
    	echo 'fgets $chaineXML : '.$chaineXML."<br />";
    	fclose($fh);
    la sortie me retire toutes les balises <> xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fgets $chaineXML : France  Belgique  Espagne    Japon  Inde
    même chose avec la fonction readfile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	$chaineXML = readfile('test.xml');
    	echo 'readfile $chaineXML : '.$chaineXML."<br />";
    Pourriez vous m'expliquer ?
    Mille excuses pour cette question de néophyte
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 224
    Points
    8 224
    Billets dans le blog
    17
    Par défaut
    Les < sont bien présents, mais vu que tu les sors en HTML ton navigateur les interprête... et les ignore car ce ne sont pas des balises HTML.
    Regarde la source de la page pour t'en convaincre.

    Si tu veux afficher du XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('Content-Type: text/xml') ;
    echo $taChaineXML ;
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. [DOM XML] Lecture du contenu XML dans une chaine de caractères
    Par diakite4 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/05/2008, 20h48
  2. Méthode POST avec un + dans une chaine
    Par danathane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/04/2008, 16h26
  3. lire xml avec attributs dans balises
    Par cd090580 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/01/2008, 19h27
  4. Réponses: 1
    Dernier message: 03/08/2007, 13h25
  5. [XSLT] Utilisation de XML avec PHP dans le cadre d'un site
    Par nicolas66 dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 06/11/2005, 22h39

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