Bonjour,
NodeValue fourni l'ensemble d'un noeud sur une ligne
Comment réduire les champs de cette ligne quand il y en a plusieurs ?
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<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <repertoire> <sport type="jo"> <even> <debut>2018-02-09</debut> <fin>2018-02-25</fin> <adresse>PyeongChang-2018</adresse> </even> <even> <debut>2018-02-11</debut> <fin>2018-02-24</fin> <adresse>PyeongChang-SkiAlpin</adresse> </even> <even> <debut>2018-02-10</debut> <fin>2018-02-23</fin> <adresse>PyeongChang-Biathlon</adresse> </even> <even> <debut>2018-02-10</debut> <fin>2018-02-25</fin> <adresse>PyeongChang-SkiDeFond</adresse> </even> </sport> <sport type="formule"> <even> <debut>25/03/2018</debut> <fin>2018-03-25</fin> <adresse>GP-Australie</adresse> </even> </sport> </repertoire>
Cela donne :
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 function flux($even){ print('-------------------------<br>'); foreach ($even as $product) { print($product->nodeValue.'<br>'); } } $doc = new DOMDocument; $doc->load('jo.xml'); $xpath = new DOMXPath($doc); $f1=$xpath->query("/repertoire/sport[@type='formule']/even"); flux($f1); $f1=$xpath->query("/repertoire/sport[@type='jo']/even"); flux($f1);
-------------------------
25/03/2018 2018-03-25 GP-Australie
-------------------------
2018-02-09 2018-02-25 PyeongChang-2018
2018-02-11 2018-02-24 PyeongChang-SkiAlpin
2018-02-10 2018-02-23 PyeongChang-Biathlon
2018-02-10 2018-02-25 PyeongChang-SkiDeFond
Le but est d'obtenir ceci :
-------------------------
25/03/2018 : GP-Australie
-------------------------
2018-02-09 : PyeongChang-2018
2018-02-11 : PyeongChang-SkiAlpin
2018-02-10 : PyeongChang-Biathlon
2018-02-10 : PyeongChang-SkiDeFond
![]()
Partager