Comment insérer un saut de ligne entre chaque balise xml ? [Résolu]

nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 17 avril 2008 à 19:54 - Dernière réponse : nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention
- 19 avril 2008 à 11:18
Salut,

je suis confronté a un problème, je fais un chat en php avec xml mais je n'arrive pas a sautter de ligne entre chaque balise xml de mon fichier, comment puis je faire ???

Si t'a besoin d'aide, MP !!!
Afficher la suite 

29 réponses

Répondre au sujet
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 18 avril 2008 à 18:17
+3
Utile
Re malalam et merci de m'aider,

en fait, j'ai passer une chaine de caractère a mon foreach alors je l'ai changé en array en utilisant explode, enfin, voici le code final :

  

   <?php
   $chemin = "post.xml";
   $fichier = fopen($chemin, "r");
   $lecture = fread($fichier, filesize($chemin));
   
   $text = strip_tags($lecture);
   $text = explode("/r/n", $text);
   
   foreach($text as $ligne) {
    echo $ligne, "
";
   }
   ?>
  

a++

Si t'a besoin d'aide, MP !!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de nicomilville
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 18 avril 2008 à 21:28
+3
Utile
Je ne sais pas qui est "on", mais "on" t'a dit n'importe quoi.
Pour ce qui est de lire du XML, quand il s'agit d'une lecture simple, simplexml est parfait. D'autant plus avec simplexmlIterator.
Pour les lectures un peu plus complexes (et la tienne n'est pas du tout complexe), on se tournera vers XMLReader.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 19 avril 2008 à 10:26
+3
Utile
Lol...
tu as 2 façons de faire :
Soit tu charges un fichier XML pour instancier ton objet :
$oXml = simplexml_load_file($sFichier);
$oXml est alors un objet simplexml.

Soit tu passes par le constructeuir :
$oXml = new simplexmlelement($sFichier);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 19 avril 2008 à 11:08
+3
Utile
C'est ton objet simplexml.
Pardon :
   <?php
   $xml = simplexml_load_file('post.xml');
   
   foreach($xml->post as $post) {
    echo $post->pseudo, $post->message;
   }
   ?>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 17 avril 2008 à 21:23
+1
Utile
Mais tu affiches quoi dans ton chat...? Le xml brut ?
Des sauts de ligne, c'est de la mise en forme, ça n'a rien à faire dans un XML.
C'est à l'affichage que tu dois sauter des lignes.
Regarde :
<?php
$sChaine = <<<EOS
<?xml version="1.0" encoding="utf-8"?><root><message>bla bla</message><message>bla bla bla ??</message><message>blaaaaa!</message><message>bla :-(</message></root>
EOS;
$oXml = simplexml_load_string($sChaine);
foreach($oXml as $oNode) {
    echo (string)$oNode, '
';
}
?>
J'ai fait exprès de mettre mon xml en ligne. Et comme tu peux le voir, à l'affichage, je saute quand même des lignes...je ne saisis pas ton problème ?
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 17 avril 2008 à 20:06
0
Utile
Hello,

les sauts de ligne n'ont rien à fare dans un fichier xml(enfin, pas entre les balises en tous cas). Pourquoi veux tu en mettre ?
Commenter la réponse de malalam
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 17 avril 2008 à 21:16
0
Utile
je fais un chat et j'ai besoin de sauter des lignes a chaques messages !!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 18 avril 2008 à 16:38
0
Utile
ba le problème que je rencontre, c'est que avec print(); quand je met
ça marche pas, j'utilise le DOM et non pas simple xml !!!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 18 avril 2008 à 17:00
0
Utile
voici mon code, il doit être mal codé !!!

   $chemin = "post.xml";
   $fichier = fopen($chemin, "r");
   $lecture = fread($fichier, filesize($chemin));
   
   foreach($lecture as $ligne) {
    echo $ligne, "
";
   }

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 18 avril 2008 à 21:08
0
Utile
Ce n'est pas comme ça qu'on lit un xml. Là, tu fais n'importe quoi. Tu as probablement des balises xml dans ton html avec ça. Et je ne comprends pas comment tu peux exploser sur des retours chariot ton xml alors que ça n'est pas censé être un délimiteur dans un tel flux.
Bref, sincèrement, c'est crade ce que tu fais.
Tu ferais mieux de passer par simplexml comme je te l'ai dit.
Commenter la réponse de malalam
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 18 avril 2008 à 21:11
0
Utile
ok, je vais essayer, mais on m'a dit que simple xml était dépressié !!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 18 avril 2008 à 22:07
0
Utile
ok, merci beaucoup !!!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 18 avril 2008 à 22:13
0
Utile
Et DOM évidemment, mais DOM est beaucoup plus complexe. On peut lire du XML avec, c'est juste un peu plus compliqué. Mais pour créer ou modifier un XML, il est parfait et extrèmement puissant.
Simplement, dans ton cas, tu n'en as absoluement pas besoin pour lire ton XML.
Commenter la réponse de malalam
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 19 avril 2008 à 08:23
0
Utile
ok, mais comme j'ai créé le fichier xml avec le DOM je croyais que c'était bien de le lire avec le DOM !!!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 19 avril 2008 à 08:51
0
Utile
eu je suis allé sur www.php.net/simple_xml et je n'ai pas vu les fonctions dont vous me parlez j'ai pas vu les fonctions permettants de lire le contenue d'un fichier xml !!!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 19 avril 2008 à 09:51
0
Utile
Tu as mal cherché :
http://fr.php.net/manual/en/book.simplexml.php
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 19 avril 2008 à 09:52
0
Utile
En français peut-être plutôt...:
http://fr.php.net/manual/fr/book.simplexml.php
Commenter la réponse de malalam
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 19 avril 2008 à 09:54
0
Utile
justement, c'est ici que j'était et dans les descriptions des fonctions il n'y a rien qui dit que tel fonction permet de lire le fichier xml ...

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 19 avril 2008 à 09:59
0
Utile
simplexml est basé sur la lecture d'un flux xml.
Nicomilville, il faut que tu lises les docs, que tu apprennes à chercher.
http://fr.php.net/manual/fr/simplexml.examples.php
Commenter la réponse de malalam
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 19 avril 2008 à 10:03
0
Utile
ok, je prend ça comme un conseil, merci, ce n'est pas de la mauvaise volonté, c'est que je n'est pas encore votre expérience, je n'est pas toutes les années d'expérience que vous avez laissé derrière vous, je n'ai que 14 ans, ça veus dire que je suis pire qu'un  newbie, je suis un moins que rien !!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

comment insérer un saut de ligne entre chaque balise xml ? - page 2