Tengo este xml
Cita:
Tengo este codigo que me funciona bien<scores>
<game time="Nov 19 2013 12:30:00:000AM">
<sport id="5" name=""/>
<league id="9" name=""/>
<away number="26217" name="Costa Rica" abbr="CR" score="0" points="0.3" price="-115" ML="222" opener_points="0.5" opener_price="-111" opener_ML="330"/>
<home number="26218" name="Australia" abbr=" " score="1" points="-0.3" price="105" ML="140" opener_points="-0.5" opener_price="102" opener_ML="-101"/>
<status time_remaining=" " value="Final"/>
<total points="2.3" over="101" under="-112" opener_total="2.3" opener_over="111" opener_under="-125"/>
<period number="1" away_score="0" home_score="0"/>
<period number="2" away_score="0" home_score="1"/>
</game>
<game time="Nov 19 2013 06:00:00:000AM">
<sport id="5" name=""/>
<league id="9" name=""/>
<away number="26221" name="South Korea" abbr=" " score="1" points="" price="" ML="" opener_points="" opener_price="" opener_ML=""/>
<home number="26222" name="Russia" abbr=" " score="2" points="" price="" ML="" opener_points="" opener_price="" opener_ML=""/>
<status time_remaining=" " value="Final"/>
<total points="" over="" under="" opener_total="" opener_over="" opener_under=""/>
<period number="1" away_score="1" home_score="1"/>
<period number="2" away_score="0" home_score="1"/>
</game>
</scores>
<game time="Nov 19 2013 12:30:00:000AM">
<sport id="5" name=""/>
<league id="9" name=""/>
<away number="26217" name="Costa Rica" abbr="CR" score="0" points="0.3" price="-115" ML="222" opener_points="0.5" opener_price="-111" opener_ML="330"/>
<home number="26218" name="Australia" abbr=" " score="1" points="-0.3" price="105" ML="140" opener_points="-0.5" opener_price="102" opener_ML="-101"/>
<status time_remaining=" " value="Final"/>
<total points="2.3" over="101" under="-112" opener_total="2.3" opener_over="111" opener_under="-125"/>
<period number="1" away_score="0" home_score="0"/>
<period number="2" away_score="0" home_score="1"/>
</game>
<game time="Nov 19 2013 06:00:00:000AM">
<sport id="5" name=""/>
<league id="9" name=""/>
<away number="26221" name="South Korea" abbr=" " score="1" points="" price="" ML="" opener_points="" opener_price="" opener_ML=""/>
<home number="26222" name="Russia" abbr=" " score="2" points="" price="" ML="" opener_points="" opener_price="" opener_ML=""/>
<status time_remaining=" " value="Final"/>
<total points="" over="" under="" opener_total="" opener_over="" opener_under=""/>
<period number="1" away_score="1" home_score="1"/>
<period number="2" away_score="0" home_score="1"/>
</game>
</scores>
Código PHP:
// Loads XML.
$doc = new DOMDocument('1.0', 'utf-8');
$doc->preserveWhiteSpace = false;
$doc->loadXML(file_get_contents('http://www.proveedor.com/scores.php'));
// Reading all elements with tag name="game".
$cds = $doc->getElementsByTagName( "game" );
$data = array();
foreach ($cds as $cd)
{
$onlyHour = TranslateDateOnlyHour($cd->getAttribute('time'));
if (array_key_exists('period', $cd)) {
$period1A = $cd->getElementsByTagName("period")->item(0)->getAttribute('away_score');
$period1H = $cd->getElementsByTagName("period")->item(0)->getAttribute('home_score');
}else{
$period1A = '';
$period1H = '';
}
$data[] = array('time' => TranslateDate($cd->getAttribute('time')),
'sport' => TranslateSport($cd->getElementsByTagName("sport")->item(0)->getAttribute('id')),
'league' => TranslateLeague($cd->getElementsByTagName("league")->item(0)->getAttribute('id')),
'away' => $cd->getElementsByTagName("away")->item(0)->getAttribute('abbr'),
'home' => $cd->getElementsByTagName("home")->item(0)->getAttribute('abbr'),
'awayName' => $cd->getElementsByTagName("away")->item(0)->getAttribute('name'),
'homeName' => $cd->getElementsByTagName("home")->item(0)->getAttribute('name'),
'aNumber' => $cd->getElementsByTagName("away")->item(0)->getAttribute('number'),
'hNumber' => $cd->getElementsByTagName("home")->item(0)->getAttribute('number'),
'aScores' => $cd->getElementsByTagName("away")->item(0)->getAttribute('score'),
'hScores' => $cd->getElementsByTagName("home")->item(0)->getAttribute('score'),
'status' => $cd->getElementsByTagName("status")->item(0)->getAttribute('value'),
'timeG' => $cd->getElementsByTagName("status")->item(0)->getAttribute('time_remaining'),
'1stA' => $period1A,
'1stH' => $period1H,
'hour' => $onlyHour);
}