Bonjour à tous.

Voila j'espère que je pose ma question sur le bon forum...

J'essai de me faire un parseur pour afficher un flux XML.
Je débutes donc je suis pas sur de tout comprendre.

J'aimerais mettre le contenu de chaques balises dans un tableau pour pouvoir ensuite l'exploiter à ma guise.


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
 
<XML_Recits>
   - <caracteristiques>
       <lien_site>recits.com</lien_site>
       <lien_bob>blabla</lien_bob>
     </caracteristiques>
 
    - <recits>
         - <recit>
             <titre>recits.com</titre>
             <auteur>blabla</auteur>
             <texte>blabla</texte>
           </recit>
         - <recit>
             <titre>recits.com</titre>
             <auteur>blabla</auteur>
             <texte>blabla</texte>
           </recits>
      </recits>
<XML_Recits>
j'arrive a mettre tous ce qui a dans lien_site et lien_bob dans un tableau et a l'afficher, PUIS je mets dans un tableau tous les titres auteurs et texte dans un autre tableau et j'affiche.
Comment faire pour tous mettre directement dans un tableau(enregistrement), quand les balise ne s'encastrent pas??

J'esppères que j'ai étais assez clair (je doutes )

Mon 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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
$site = "blabla";
$fp = @fopen($site,"r");
while(!feof($fp)) $raw .= @fgets($fp, 4096);
 
fclose($fp);
 
if( eregi("<caracteristiques>(.*)</caracteristiques>", $raw, $rawitems ) ) 
{
 $items = explode("<caracteristiques>", $rawitems[0]);
 
 for( $i = 0; $i < count($items)-1; $i++ ) 
  {
  eregi("<lien_site>(.*)</lien_site>",$items[$i+1], $lien_site );
  eregi("<lien_abo>(.*)</lien_bob>",$items[$i+1], $lien_bob);
 
  echo "$lien_site[1]"
 
  }
}
 
if( eregi("<recit>(.*)</recit>", $raw, $rawitems ) ) 
{
 $items = explode("<recit>", $rawitems[0]);
 
 for( $i = 0; $i < count($items)-1; $i++ ) 
  {
 
 
  eregi("<auteur>(.*)</auteur>",$items[$i+1], $auteur );
  eregi("<titre>(.*)</titre>",$items[$i+1], $titre );
  eregi("<corp>(.*)</corp>",$items[$i+1], $corp );  
 
  echo "$titre";
  echo "$auteur[1]";
 
 
 
  }
}