2 pièce(s) jointe(s)
[SimpleXML] Parsage complexe
Bonjour à tous,
J'ai quelques difficultés pour parser des fichiers xml très merdiques (voir les pièces-jointes). Ces fichiers me sont fournis par une société (ce sont des communiqués de presse) et j'ai besoin de récupérer quelques informations de ces fichiers pour les mettre dans une base de données.
Voici mon script actuel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| if($dh = opendir('/home/web/***')) {
while(($flux = readdir($dh)) !== false) {
if($flux != '.ftpquota' AND $flux != 'index.html' AND $flux != '.' AND $flux != '..' AND !empty($flux)) {
echo '<strong>'.$flux.'</strong><br />';
$xml = simplexml_load_file('/home/web/***/'.$flux);
foreach($xml->NewsItem->NewsComponent->DescriptiveMetadata as $meta)
echo "\tLangue : ".$meta->Language['FormalName']."<br />";
foreach($xml->NewsItem->NewsComponent->NewsComponent->NewsLines as $lines)
echo "\tTitre : ".$lines->HeadLine."<br />";
}
}
}
closedir($dh); |
Comme vous le voyez avec le code ci-dessus, j'arrive sans soucis à récupérer le titre et la langue dans le flux mais je voudrais récupérer "<MimeType FormalName="text/plain" />" à la fin du fichier mais je n'y parviens pas (le "Duid" du "ContentItem" change sur chaque flux donc impossible de se référer à cette valeur pour parser le flux, c'est bien là le problème !).
Merci par avance pour votre aide !