Parser xml
powpowland
Messages postés
395
Date d'inscription
Statut
Membre
Dernière intervention
-
ktm620enduro Messages postés 377 Statut Membre -
ktm620enduro Messages postés 377 Statut Membre -
Bonjour,
Je parse un fichier XML avec ce bout de code :
Avec ce fichier XML de ce type, non modifiable car je n'en suis pas le propriétaire :
Je veux en faite récupérer les IdLangue... Comment peut-on faire ?
je verrais bien un strstr() mais je ne vois pas trop comment récupérer la chaine de caractères dans le nom de l'élément...
si vous pouvez m'aider ça serait cool...
Je parse un fichier XML avec ce bout de code :
$url = 'xml/test.xml';
if (file_exists($url)) {
$xml = simplexml_load_file($url);
//print_r($xml);
$num=0;
$test=array();
foreach ($xml->Item as $value){
$num++;
if(iconv( "UTF-8", "ISO-8859-1//TRANSLIT", $value->Visible)!=0)
$restos[] = '<tr class="liensListe"><td colspan="3"><a href="détails.php?id='.iconv( "UTF-8", "ISO-8859-1//TRANSLIT", $value->Id).'">
<b>'.strtoupper(iconv( "UTF-8", "ISO-8859-1//TRANSLIT", $value->Titre->Contenus->Contenu )).'</b>
<br>'.substr(nl2br(iconv( "UTF-8", "ISO-8859-1//TRANSLIT", $value->Resume->Contenus->Contenu)), 0, 100).'...</td><td width="40px"><img src="img/details.png"></a></td></tr>
<tr><td colspan="4" height="10px"></td></tr>';
}
Avec ce fichier XML de ce type, non modifiable car je n'en suis pas le propriétaire :
<ExportItem> <Item> <Id>1</Id> <Titre> <Contenus xmlns=""> <Contenu IdLangue="fr">Test</Contenu> <Contenu IdLangue="uk">Testing</Contenu> </Contenus> </Titre> <Visible>1</Visible> <Diffusion>1</Diffusion> <Resume> <Contenus xmlns=""> <Contenu IdLangue="fr">Un petit texte</Contenu> <Contenu IdLangue="uk">A little text.</Contenu> </Contenus> </Resume> </Item> </ExportItem>
Je veux en faite récupérer les IdLangue... Comment peut-on faire ?
je verrais bien un strstr() mais je ne vois pas trop comment récupérer la chaine de caractères dans le nom de l'élément...
si vous pouvez m'aider ça serait cool...
2 réponses
-
$k=file_get_contents($url); if (preg_match('#^<item>[^>]*>([^<]*)[^"]*"([^"]*)">[^>]*>([^>]+)>[^>]*>([^>]+)>[^>]*>[^>]*>[^>]*>([^<]*)[^>]*>[^>]*>([^<]*)[^>]*>[^>]*>[^"]*"([^"]*)">[^"]*"([^"]+)">([^<]*)[^"]*"([^"]+)">([^<]*)[^>]*>[^>]*>[^>]*>\s*<\/item>#i',$k,$result)) print_r($result); -
fait un print_r($xml) et après tu parcourt comme avec un tableau