tutorial leer imprimir create crear con array archivo php xml xml-parsing simplexml

leer - simplexml php



analizando en un feed xml externo en php (2)

Necesita profundizar a través del xml para obtener los mercados, y luego obtener los atributos del mercado:

<?php $xml = simplexml_load_file(''http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=1&marketSort=--&filterBIR=N''); foreach ($xml->response->williamhill->class->type as $type) { $type_attrib = $type->attributes(); echo "<p><h2>Type ".$type_attrib[''id''].": ".$type_attrib[''name'']."</h2>"; foreach ($type->market as $event) { $event_attributes = $event->attributes(); echo $event_attributes[''name'']."<br />"; //commented out the following which prints all attributes //replaced by above to just print the name /* echo "<p>"; foreach($event->attributes() as $attrib=>$value) { echo "$attrib: $value <br />"; } echo "</p>"; */ } echo "</p>"; }

Soy realmente nuevo en php y estoy tratando de cargar datos de un feed xml externo en un documento php, y luego uso esos datos para generar un resultado.

El uso de xml feed im es - http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=1&marketSort=--&filterBIR=N

Lo que intento hacer es generar una lista de ''mercados'' y sus nombres, de modo que como el feed xml se encuentre en el momento de escribir, los primeros 3 elementos de la lista serían:

  • Scottish Division 1 - Outright - Outright
  • Dumbarton v Hamilton - Resultado de la 1ra mitad / resultado de la 2da mitad
  • Dumbarton v Hamilton - Match Handicaps

en este momento estoy tratando de usar el siguiente código para lograr esto, pero estoy llegando a ninguna parte rápidamente con él, ¿alguna idea sobre qué estoy haciendo mal aquí?

solo un poco más de fondo, estoy usando php 5.4.4, ¿estoy en lo cierto al pensar que Simplexml viene ya preinstalado ... así que no necesito agregar nada adicional aquí?

<?php $xml = simplexml_load_file(''http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=1&marketSort=--&filterBIR=N''); foreach ($xml->market as $event) { echo $event; } ?>


Por ejemplo, podría mostrar el nombre de los participantes y las probabilidades respectivas haciendo esto:

<?php $xml = simplexml_load_file(''http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=1&marketSort=--&filterBIR=N''); $data = $xml->response->williamhill->class->type->market; $ps = $data->participant; foreach($ps as $p) { echo $p[''name'']." - ".$p[''odds'']."<br />"; } ?>