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] afficher le contenu d'un fichier xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Par défaut [XML] afficher le contenu d'un fichier xml
    Bonjour,

    j'ai un probleme que je n'arrive pas a resoudre...

    j'ai un fichier xml du genre :

    <new>
    <body>
    <para>ici mon teste
    <link url="web" type="extern">
    <hypertext>mon lien</hypertext>
    <hypertext type="text">http://unliendetest.com</hypertext>
    </link>. Oki c'est la suite...
    </para>
    </body>
    </new>


    J'aimerai parser ce ficheir avec simple_xml et afficher so ncontenu.

    Or pour lire le fichier avec simple_xml c'est ok, mais c'est apres comment afficher le resultat de mon fichier XML...

    Le resultat doit etre ainsi :

    ici mon teste <a href="http://unliendetest.com">mon lien</a>. Oki c'est la suite...

    C'est au niveau du node "para" comment lui faire d'abord afficher "ici mon teste" puis le lien hypertexte puis ". Oki c'est la suite..." ???


    Merci beaucouop

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Par défaut
    Comment sais tu qu'il arrive bien a lire ton xml, si tu n'affiche pas le contenu ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Par défaut
    en fait j'arrive a afficher mon contenu mais il affiche ca :

    ici mon teste. Oki c'est la suite... <a href="http://unliendetest.com">mon lien</a>

    moi je veux qu'il m'affiche ca :
    ici mon teste. <a href="http://unliendetest.com">mon lien</a> Oki c'est la suite...

    exactement comme dans le fichier xml...

    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Par défaut
    alors si tu veux j'ai bien une fonction pour afficher ton XML dans le bon ordre, mais après il y a un problème avec ton format de xml, il ne fait pas attention au lien et inscrit le résultat comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ici mon teste mon lien http://unliendetest.com . Oki c'est la suite...
    En modifiant dont xml de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <new>
    	<body>
    		<para>ici mon teste</para>
    		<description>mon lien</description>
    		<link>http://unliendetest.com</link>
    		<suite>Oki c'est la suite...</suite>
    	</body>
    </new>
    et en marquant ceci dans ton code :

    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
     
    function read_xml($fichier, $item, $champs){
    	if($chaine = @implode("", @file($fichier))){
    		$tmp = preg_split("/<\/?".$item.">/",$chaine);
    		for($i=1;$i<sizeof($tmp)-1;$i+=2)
    		foreach($champs as $champ){
    			$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
    			$tmp3[$i-1][] = @$tmp2[1];
    		}
    		return $tmp3;
    	}
    }
     
    $tab = array("para","cescription","link","suite");
    $xml = read_xml("text.xml","body",$tab);
     
    foreach($xml as $row){
    	echo $row[0].' ';
    	echo $row[1].' ';
    	echo '<a href="#">'.$row[2].'</a> ';
    	echo $row[3];
    }
    ça marche, l'inconvénient c'est que ça te fait changer ton format de xml, mais bon ça pourrait être une solution.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Par défaut
    Desoler mais le format du fichier XML je ne peux y toucher.

    J'y avais pensé de remanier le fichier XML mais....

    Tu n'as pas une autre solution ??

    merci

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Peux tu nous montrer ce que tu as deja fait avec simple xml niveau code sur ce projet stp?
    Car techniquement, y'a pas trop de soucis avec simple_xml pour extraire tes données sans te planter..

  7. #7
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Bonjour,

    Peux tu nous envoyer le résultats de cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $xml = simplexml_load_file('test.xml');
    echo "<pre>";
    print_r($xml);
    echo "</pre>";
    Merci,

    Gillou

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 38
    Par défaut
    alors voici le resultat de print_r :

    SimpleXMLElement Object ( [body] => SimpleXMLElement Object ( [para] => ici mon teste . Oki c'est la suite... ) ) SimpleXMLElement Object ( [body] => SimpleXMLElement Object ( [para] => ici mon teste . Oki c'est la suite... )


    et voici mon fichier xml :

    <new>
    <body>
    <para>ici mon teste
    <link url="web" type="extern">
    <hypertext>mon lien</hypertext>
    <hypertext type="text">http://unliendetest.com</hypertext>
    </link>. Oki c'est la suite...
    </para>
    </body>
    </new>


    comment afficher le resultat dans l'ordre du fichier xml ????

Discussions similaires

  1. Afficher le contenu d'un fichier xml sur une page web
    Par pitchu dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 26/02/2015, 16h03
  2. Afficher le contenu d'un fichier XML.
    Par nanou777 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 13/04/2011, 12h11
  3. accéder et afficher le contenu d'un fichier XML
    Par Kihmé Xs dans le forum Visual Studio
    Réponses: 12
    Dernier message: 24/01/2010, 19h47
  4. Problème pour afficher le contenu d'un fichier xml en html
    Par raphael74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 21
    Dernier message: 13/08/2009, 16h17
  5. Réponses: 1
    Dernier message: 12/02/2003, 09h36

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