[XML] Lire un OBJET dans un OBJET dans un ARRAY
Bonjour à tous les lecteurs de ce post !
Voilà je m’entraîne à lire les information d'un webservice "http://footballpool.dataaccess.eu/data/info.wso?wsdl" via php.
J'arrive à lire un objet simple mais dès lors qu'il y a un autre objet dans cet objet je n'arrive pas à accéder à ses informations.
voilà le bout du wdsl qu'il m'intéresse de lire :
Code:
1 2 3 4 5 6 7
| <xs:complexType name="tTopSelectedGoalScorer">
<xs:sequence>
<xs:element name="sName" type="xs:string"/>
<xs:element name="iSelected" type="xs:int"/>
<xs:element name="Countries" type="tns:ArrayOftCountrySelectedTopScorer"/>
</xs:sequence>
</xs:complexType> |
dedans je veux lire "Countries" qui lui contient un array ici présent :
Code:
1 2 3 4 5 6
| <xs:complexType name="tCountrySelectedTopScorer">
<xs:sequence>
<xs:element name="sName" type="xs:string"/>
<xs:element name="iCount" type="xs:int"/>
</xs:sequence>
</xs:complexType> |
Lors que je fais ceci
Code:
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
| $topn = 2;
$result3 = $client->TopSelectedGoalScorers(array('iTopN' => $topn ));
// Note that $array contains the result of the traversed object structure
$array3 = $result3->TopSelectedGoalScorersResult->tTopSelectedGoalScorer;
print_r($array3);
print "
<table border='2'>
<tr>
<th>Rank</th>
<th>Name</th>
<th>Selected</th>
<th>Countries</th>
</tr>
";
foreach($array3 as $key1=>$value2){
print "
<tr>
<td align='right'>" . ($key1+1) . "</td>
<td>" . $value2->sName . "</td>
<td align='right'>" . $value2->iSelected . "</td>
<td align='right'>" . $value2->sName . "</td>
</tr>";
}
print "</table><br/>"; |
J'obtient ceci "
Citation:
Array ( [0] => stdClass Object ( [sName] => Mario Gómez [iSelected] => 31 [Countries] => stdClass Object ( [tCountrySelectedTopScorer] => Array ( [0] => stdClass Object ( [sName] => Australia [iCount] => 1 ) [1] => stdClass Object ( [sName] => Brazil [iCount] => 2 ) [2] => stdClass Object ( [sName] => Denmark [iCount] => 1 ) [3] => stdClass Object ( [sName] => England [iCount] => 1 ) [4] => stdClass Object ( [sName] => Germany [iCount] => 3 ) [5] => stdClass Object ( [sName] => Hungary [iCount] => 2 ) [6] => stdClass Object ( [sName] => Jordan [iCount] => 1 ) [7] => stdClass Object ( [sName] => Netherlands [iCount] => 11 ) [8] => stdClass Object ( [sName] => Peru [iCount] => 1 ) [9] => stdClass Object ( [sName] => Spain [iCount] => 3 ) [10] => stdClass Object ( [sName] => Sweden [iCount] => 4 ) [11] => stdClass Object ( [sName] => United Kingdom [iCount] => 1 ) ) ) ) [1] => stdClass Object ( [sName] => Cristiano Ronaldo [iSelected] => 23 [Countries] => stdClass Object ( [tCountrySelectedTopScorer] => Array ( [0] => stdClass Object ( [sName] => Austria [iCount] => 1 ) [1] => stdClass Object ( [sName] => Belgium [iCount] => 1 ) [2] => stdClass Object ( [sName] => Brazil [iCount] => 5 ) [3] => stdClass Object ( [sName] => Denmark [iCount] => 5 ) [4] => stdClass Object ( [sName] => Germany [iCount] => 2 ) [5] => stdClass Object ( [sName] => Netherlands [iCount] => 2 ) [6] => stdClass Object ( [sName] => Sweden [iCount] => 4 ) [7] => stdClass Object ( [sName] => United States [iCount] => 3 ) ) ) ) ) "
Je n'arrive pas à lire
Citation:
[Countries] => stdClass Object ( [tCountrySelectedTopScorer] => Array ( [0] => stdClass Object ( [sName] => Australia [iCount] => 1 )
Merci de votre attention