He conseguido iterarlo a mi manera xDD
¿Me podéis dar vuestra opinión? ¿lo hariáis de otra forma? Al final lo que quiero conseguir es introducir estos datos en una bbdd mysql
Código php:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Analizar XML</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
class xml {
var $resultado;
var $informacion;
function xml($contenido) {
$this->informacion = xml_parse($this->resultado,$contenido);
return $this->matriz;
}
function abrir($parser, $nombre, $atributos) {
$etiqueta = array("nombre"=>$nombre,"atributos"=>$atributos); }
function info($parser, $etiqueta_info) {
if(trim($etiqueta_info)) { if(isset($this->matriz[count($this->matriz)-1]['info'])) { $this->matriz[count($this->matriz)-1]['info'] .= $etiqueta_info; }
else {
$this->matriz[count($this->matriz)-1]['info'] = $etiqueta_info; }
}
}
function cerrar($parser, $nombre) {
$this->matriz[count($this->matriz)-2]['hijo'][] = $this->matriz[count($this->matriz)-1]; }
}
// XML origen
$url = "http://partnerfeed.itsfogo.com/partnerfeed.aspx?partnerfeedID=1305&ZoneID=34296&partnerTargetLink=&partnerField=itsfogoTargetLink";
$xml = new xml($xml_contenido);
echo '<pre>';
//print_r($xml->matriz);
$arreglo = ($xml->matriz);
echo '</pre>';
// Cuento el numero de ligas
$num_ligas = count($arreglo[0]['hijo']); echo "Numero de ligas: $num_ligas <br/>";
// Cuento el numero de partidos
$num_partidos = count($arreglo[0]['hijo'][0]['hijo']); echo "Numero de partidos: $num_partidos <br/>";
// Cuento los mercados disponibles
$num_mercados = count($arreglo[0]['hijo'][0]['hijo'][0]['hijo']); echo "Numero de mercados: $num_mercados <br/>";
// Cuento apuestas disponibles de ese mercado
$num_apuestas = count($arreglo[0]['hijo'][0]['hijo'][0]['hijo'][0]['hijo']); echo "Numero de apuestas para el mercado: $num_apuestas <br/>";
for ($i = 0; $i < $num_ligas; $i++) {
if ($arreglo[0]['hijo'][$i]['atributos']['NAME'] != ''){
// imprime el nombre de la competicion
echo "<br/>" . $arreglo[0]['hijo'][$i]['atributos']['NAME'] . "<br/>";
$num_partidos = count($arreglo[0]['hijo'][$i]['hijo']); $num_apuestas = count($arreglo[0]['hijo'][$i]['hijo'][0]['hijo'][0]['hijo']); echo "Numero de partidos: $num_partidos <br/><br/>";
for ($j = 0; $j < $num_partidos; $j++) {
// imprime el nombre del partido
echo $arreglo[0]['hijo'][$i]['hijo'][$j]['atributos']['NAME'] . "<br/>";
// imprime la fecha del partido
//echo $arreglo[0]['hijo'][$i]['hijo'][$j]['atributos']['EVENTDATE'] . "<br/>";
// imprime el enlace del partido
//echo $arreglo[0]['hijo'][$i]['hijo'][$j]['atributos']['EVENTLINK'] . "<br/>";
$num_mercados = count($arreglo[0]['hijo'][0]['hijo'][0]['hijo']); for ($k = 0; $k < $num_mercados; $k++) {
//Nombre del mercado
//echo $arreglo[0]['hijo'][$i]['hijo'][$j]['hijo'][$k]['atributos']['NAME'];
for ($l = 0; $l < $num_apuestas; $l++) {
// imprime el nombre de la apuesta
echo $arreglo[0]['hijo'][$i]['hijo'][$j]['hijo'][$k]['hijo'][$l]['atributos']['NAME'];
// imprime la cuota de la apuesta
echo $arreglo[0]['hijo'][$i]['hijo'][$j]['hijo'][$k]['hijo'][$l]['atributos']['ODD'];
// imprime el enlace de la apuesta
//echo $arreglo[0]['hijo'][$i]['hijo'][$j]['hijo'][$k]['hijo'][$l]['atributos']['PLACEBETLINK'];
}
}
}
}
}
?>
</body>
</html>