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

nicomilville
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 17 avril 2008 à 19:54 - Dernière réponse : nicomilville
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 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 

Votre réponse

29 réponses

Meilleure réponse
nicomilville
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 18 avril 2008 à 18:17
3
Merci
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 !!!

Merci nicomilville 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de nicomilville
Meilleure réponse
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 18 avril 2008 à 21:28
3
Merci
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.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 19 avril 2008 à 10:26
3
Merci
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);

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 19 avril 2008 à 11:08
3
Merci
C'est ton objet simplexml.
Pardon :
   <?php
   $xml = simplexml_load_file('post.xml');
   
   foreach($xml->post as $post) {
    echo $post->pseudo, $post->message;
   }
   ?>

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de malalam
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 17 avril 2008 à 21:23
1
Merci
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
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 17 avril 2008 à 20:06
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 17 avril 2008 à 21:16
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 18 avril 2008 à 16:38
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 18 avril 2008 à 17:00
0
Merci
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
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 18 avril 2008 à 21:08
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 18 avril 2008 à 21:11
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 18 avril 2008 à 22:07
0
Merci
ok, merci beaucoup !!!

Si t'a besoin d'aide, MP !!!
Commenter la réponse de nicomilville
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 18 avril 2008 à 22:13
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 19 avril 2008 à 08:23
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 19 avril 2008 à 08:51
0
Merci
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
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 19 avril 2008 à 09:51
0
Merci
Tu as mal cherché :
http://fr.php.net/manual/en/book.simplexml.php
Commenter la réponse de malalam
malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 19 avril 2008 à 09:52
0
Merci
En français peut-être plutôt...:
http://fr.php.net/manual/fr/book.simplexml.php
Commenter la réponse de malalam
nicomilville
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 19 avril 2008 à 09:54
0
Merci
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
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
- 19 avril 2008 à 09:59
0
Merci
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
Messages postés
3498
Date d'inscription
lundi 16 juillet 2007
Dernière intervention
28 février 2014
- 19 avril 2008 à 10:03
0
Merci
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.