Bonjour, tout le monde
débutant avec le xml en php, je rencontre un problème avec la récupération des informations qui se trouve entre deux balises qui se trouve eux même entre deux autres balises, je m'explique :
mon XML :
J'aimerais récuperer le contenu de chaque élément nitf:block mais aussi des éléments qui se trouve de dans c'est à dire <nitf:em>
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<?xml version="1.0" encoding="utf-8" standalone="no"?> <Document> <test:content> <nitf:nitf> <nitf:body> <nitf:body.content> <nitf:block> <nitf:p>bla bla bla bla bla</nitf:p> </nitf:block> <nitf:block class="footnote"> <nitf:p> Lorem ipsum dolor sit amet, facilisis ultricies lorem ridiculus <nitf:em class="bold"> <nitf:em>Contact :</nitf:em> </nitf:em> <nitf:br/> <nitf:em> moi@moi.com </nitf:em> <nitf:br/> Lorem ipsum dolor sit amet, facilisis ultricies lorem ridiculus </nitf:p> </nitf:block> </nitf:body.content> </nitf:body> </nitf:nitf> </test:content> </Document>
Résultat final : Lorem ipsum dolor sit amet, facilisis ultricies lorem ridiculus, Contact : moi@moi.com Lorem ipsum dolor sit amet, facilisis ultricies lorem ridiculus
pour l'instant j'ai réussi à récupere que Lorem ipsum dolor sit amet, facilisis ultricies lorem ridiculus (il me manque les infos dans l'élément <nitf:em> ) Lorem ipsum dolor sit amet, facilisis ultricies lorem ridiculus
voici mon code :
J'ai essayé de boucler sur chaque élément <nitf:em> mais ça donne pas les résultats attendue .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $xml = simplexml_load_file("fichier.xml"); $blocks = $xml->xpath('//test:content/nitf:nitf/nitf:body/nitf:body.content/nitf:block/nitf:p'); $id_block = 0; foreach($blocks as $block) { $texte .= "\n<p>".$block[0]."</p>"; }
Merci beaucoup d'avance pour l'aide
Bonne journée
Partager