Bonjour,

Je cherche à charger la première photo mais j'ai un problème au niveau de mon chemin ; c'est à dire :

L'élément newsCoponent avec attribut Duid="photo0" ;
La donnée de l'atribut Href dans l'élément ContentItem ;
Qui a pour Role FormalName="Thumbnail" ;


le fichier xml :
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
 
<?xml version="1.0" encoding="UTF-8"?>
<NewsML Version="1.2">
  <Catalog Href="http://www.afp.com/dtd/AFPCatalog.xml"/>
  <NewsEnvelope>
    <DateAndTime>20101108T070638Z</DateAndTime>
  </NewsEnvelope>
  <NewsItem>
    <Identification>
      <NewsIdentifier>
        <ProviderId>afp.com</ProviderId>
        <DateId>20101108</DateId>
        <NewsItemId>CNG.47ab18a676f3a97600ed0c2cd32b4368.01</NewsItemId>
        <RevisionId PreviousRevision="1" Update="N">2</RevisionId>
        <PublicIdentifier>urn:newsml:afp.com:20101108:CNG.47ab18a676f3a97600ed0c2cd32b4368.01:2</PublicIdentifier>
      </NewsIdentifier>
      <NameLabel>Energie-nucléaire-environnement-social-manifestation</NameLabel>
    </Identification>
    <NewsManagement>
      <NewsItemType FormalName="News"/>
      <FirstCreated>20101105T112526Z</FirstCreated>
      <ThisRevisionCreated>20101108T070617Z</ThisRevisionCreated>
      <Status FormalName="Usable"/>
    </NewsManagement>
    <NewsComponent>
      <NewsLines>
        <HeadLine>Convoi de déchets nucléaires: l'évacuation des opposants est finie</HeadLine>
        <DateLine>DANNENBERG (Allemagne) (AFP)</DateLine>
        <CopyrightLine>© 2010 AFP</CopyrightLine>
        <SlugLine>Energie-nucléaire-environnement-social-manifestation</SlugLine>
      </NewsLines>
      <AdministrativeMetadata>
        <Provider>
          <Party FormalName="AFP" />
        </Provider>
      </AdministrativeMetadata>
      <DescriptiveMetadata>
        <Language FormalName="fr" />
        <OfInterestTo FormalName="francais--journal--une"/>
        <Location HowPresent="Origin">
          <Property FormalName="Country" Value="DEU"/>
          <Property FormalName="City" Value="DANNENBERG"/>
          <Property FormalName="Latitude" Value="49.51667"/>
          <Property FormalName="Longitude" Value="-1.46667"/>
        </Location>
        <SubjectCode>
          <Subject FormalName="06000000"/>
        </SubjectCode>
        <SubjectCode>
          <Subject FormalName="06000000"/>
        </SubjectCode>
        <SubjectCode>
          <SubjectDetail FormalName="04005005"/>
        </SubjectCode>
        <SubjectCode>
          <Subject FormalName="09000000"/>
        </SubjectCode>
        <SubjectCode>
          <SubjectMatter FormalName="16008000"/>
        </SubjectCode>
      </DescriptiveMetadata>
      <NewsComponent>
        <ContentItem>
          <MediaType FormalName="Text"/>
          <Format FormalName="bcNITF2.5"/>
          <DataContent>
            <media media-type="image" style="leftSide">
              <media-reference data-location="#photo0" mime-type=""/>
            </media>
            <p>La police allemande a achevé lundi matin l'évacuation des manifestants qui bloquaient la voie ferrée que doit emprunter un convoi de déchets nucléaires venu d'un site d'Areva en France vers le site de stockage de Gorleben (nord), une opération qui a duré toute la nuit.</p>
            <p>"L'évacuation est terminée, il n'y plus personne sur la voie ferrée", a dit à l'AFP vers 07H30 (06H30 GMT) une porte-parole de la police à Lunebourg.</p>
            <p>La police estime qu'au début de l'évacuation, qui s'est passée dans le calme, environ 3.000 personnes étaient présentes pour faire barrage au convoi, à Harlingen, à une quinzaine de kilomètres environ de la gare de Dannenberg.</p>
            <p>C'est là que la cargaison du train, parti de France vendredi, sera transférée sur des camions pour les 20 derniers kilomètres jusqu'à Gorleben.</p>
            <p>Le train a passé la nuit à l'arrêt à Dahlenburg, une dizaine de kilomètres en amont de Harlingen et ne devait redémarrer qu'une fois la voie entièrement libre.</p>
            <p>Certains manifestants ayant tenté de retourner sur les voies après avoir été délogés par les policiers ont été placés en garde-à-vue, a dit la police.</p>
            <p>D'autres qui n'obtempéraient pas ont eux aussi été interpellés, et placés dans des tentes sous surveillance policière dans un champ proche, a précisé la porte-parole.</p>
            <media media-type="image" style="rightSide">
              <media-reference data-location="#photo1" mime-type=""/>
            </media>
            <p>Elle n'était pas en mesure de dire combien de personnes étaient concernées.</p>
            <p>Ces manifestants resteront en garde-à-vue jusqu'à ce que le convoi "Castor", du nom des conteneurs spéciaux abritant les déchets nucléaires soit arrivé en gare de Dannenberg, a-t-elle dit.</p>
            <p>De nombreux manifestants ont accepté de quitter les lieux par leurs propres moyens, d'autres ont opté pour une résistance passive, se laissant porter par les policiers loin des rails.</p>
            <p>Au total, près de 20.000 fonctionnaires de police ont déjà été mobilisés en Allemagne pour protéger ce convoi, selon le chef du syndicat policier DPolG, Rainer Wendt, cité dans les médias allemands.</p>
            <p>Il s'agit du 12e convoi depuis 1995 rapatriant vers l'Allemagne des déchets nucléaires allemands retraités en France. Des violences avaient émaillé la journée de dimanche entre manifestants et policiers.</p>
          </DataContent>
        </ContentItem>
      </NewsComponent>
      <NewsComponent Duid="photo0">
        <NewsLines>
          <HeadLine>Des policiers tentent de déloger des militants antinucléaires qui cherchent à couper la voie ferrée pour empêcher le passage d'un train de déchets radioactifs, le 7 novembre 2010 à Metzingen en Allemagne</HeadLine>
        </NewsLines>
        <AdministrativeMetadata>
          <Provider>
            <Party FormalName="AFP"/>
          </Provider>
          <Creator>
            <Party FormalName="Johannes Eisele"/>
          </Creator>
        </AdministrativeMetadata>
        <NewsComponent>
          <Role FormalName="Caption"/>
          <ContentItem>
            <MediaType FormalName="Text"/>
            <Format FormalName="bcNITF2.5"/>
            <DataContent>
              <p>La police allemande a achevé lundi matin l'évacuation des manifestants qui bloquaient la voie ferrée que doit emprunter un convoi de déchets nucléaires venu d'un site d'Areva en France vers le site de stockage de Gorleben (nord), une opération qui a duré toute la nuit.</p>
            </DataContent>
          </ContentItem>
        </NewsComponent>
        <NewsComponent>
          <Role FormalName="Thumbnail"/>
          <ContentItem Href="photo_1289143089462-1-2.jpg">
            <MediaType FormalName="Photo"/>
            <Characteristics>
              <Property FormalName="Width" Value="110"/>
              <Property FormalName="Height" Value="66"/>
            </Characteristics>
          </ContentItem>
        </NewsComponent>
        <NewsComponent>
          <Role FormalName="Quicklook"/>
          <ContentItem Href="photo_1289143089462-1-1.jpg">
            <MediaType FormalName="Photo"/>
            <Characteristics>
              <Property FormalName="Width" Value="245"/>
              <Property FormalName="Height" Value="148"/>
            </Characteristics>
          </ContentItem>
        </NewsComponent>
        <NewsComponent>
          <Role FormalName="Preview"/>
          <ContentItem Href="photo_1289143089462-1-0.jpg">
            <MediaType FormalName="Photo"/>
            <Characteristics>
              <Property FormalName="Width" Value="512"/>
              <Property FormalName="Height" Value="309"/>
            </Characteristics>
          </ContentItem>
        </NewsComponent>
      </NewsComponent>
      <NewsComponent Duid="photo1">
        <NewsLines>
          <HeadLine>Convoi de déchets radioactifs</HeadLine>
        </NewsLines>
        <AdministrativeMetadata>
          <Provider>
            <Party FormalName="afp.com"/>
          </Provider>
          <Creator>
            <Party FormalName=""/>
          </Creator>
        </AdministrativeMetadata>
        <NewsComponent>
          <Role FormalName="Caption"/>
          <ContentItem>
            <MediaType FormalName="Text"/>
            <Format FormalName="bcNITF2.5"/>
            <DataContent>
              <p>Carte situant les principales actions des antinucléaires sur le trajet d'un convoi ferroviaire de déchets nucléaires allemands retraités de la France vers l'Allemagne</p>
            </DataContent>
          </ContentItem>
        </NewsComponent>
        <NewsComponent>
          <Role FormalName="Thumbnail"/>
          <ContentItem Href="photo_1289174035651-1-2.jpg">
            <MediaType FormalName="Photo"/>
            <Characteristics>
              <Property FormalName="Width" Value="110"/>
              <Property FormalName="Height" Value="98"/>
            </Characteristics>
          </ContentItem>
        </NewsComponent>
        <NewsComponent>
          <Role FormalName="Quicklook"/>
          <ContentItem Href="photo_1289174035651-1-1.jpg">
            <MediaType FormalName="Photo"/>
            <Characteristics>
              <Property FormalName="Width" Value="245"/>
              <Property FormalName="Height" Value="218"/>
            </Characteristics>
          </ContentItem>
        </NewsComponent>
        <NewsComponent>
          <Role FormalName="Preview"/>
          <ContentItem Href="photo_1289174035651-1-0.jpg">
            <MediaType FormalName="Photo"/>
            <Characteristics>
              <Property FormalName="Width" Value="512"/>
              <Property FormalName="Height" Value="455"/>
            </Characteristics>
          </ContentItem>
        </NewsComponent>
      </NewsComponent>
    </NewsComponent>
  </NewsItem>
</NewsML>
Pour l'instant j'ai effectué ceci :

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
 
//Gestion du contenu des articles  
   $xmlArticle = simplexml_load_file($path.'newsmlmmd.'.$itemRef.'.xml');
 
    //Verrification du chemin
   if (!$xmlArticle) {
        echo "Erreur lors du chargement du XML\n";
        foreach(libxml_get_errors() as $error) {
            echo "\t", $error->message;
        }
    }
 
   $basePhoto = $xmlArticle->xpath('//NewsComponent[@Duid="photo0"]/NewsComponent[Role/@FormalName="Thumbnail"]/ContentItem[@Href]');
 
   if (!$basePhoto) {
        echo "Erreur lors du chargement du chemin XML\n";
        foreach(libxml_get_errors() as $error) {
            echo "\t", $error->message;
        }
 
    }else{
       echo $basePhoto;
    }

Je remet mon xpath pour mieux cerner le problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$xmlArticle->xpath('//NewsComponent[@Duid="photo0"]/NewsComponent[Role/@FormalName="Thumbnail"]/ContentItem[@Href]');
Et il ne m'affiche rien même pas un erreur Et je bloque est ce que quelqu'un aurais une idée ou je me serais tromper par hasard ?

Je vous remercie par avance.

Edit: Une petite erreur sur le else de la condition (!$basePhoto) et là il m'affiche Array le hic c'est qu'il devrait m'afficher photo_1289174035651-1-2.jpg du moins c'est ce que je désirs