将xml提要及其数据转换为工作变量和数组PHP

时间:2013-01-23 16:05:38

标签: php arrays variables simplexml

我有一个xml数据源,关于体育赛事,Feed中有多个事件,以及包含每个事件信息的多个属性。

使用的Feed是 - http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=5&marketSort=HH&filterBIR=N

我希望能够使用这些信息构建一个页面,所以我的第一步是将每个事件转换为一个数组,然后在信息中嵌套数组。

这样的事情:

$events = array();
    $event[101] => array(
    "id" => "Logo Shirt, Red",
    "name" => "img/shirts/shirt-101.jpg",
    "url" => 18,
    "date" => "2013-03-17",
    "time" => "09:00:00",
    "participant[101]" => array(
        "name" => "Mark Webber",
        "id"212770049",
        "odds" => "4/1",
        "oddsDecimal" => "5.00"
         );
     "participant[102]" => array(
        "name" => "Sebastian Vettel",
        "id"212770048",
        "odds" => "1/7",
        "oddsDecimal" => "1.14"
         );
    );

然后转到下一个事件,并将其列为$event[102]

如何将数据转换为一组这样的工作变量?

这也是从xml feed获取所需数据的最佳方式,或者当我需要特定的数据时,我会更好地从Feed中提取数据(虽然我认为需要每次拨打电话)?如果是这样,sytnax会是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用http://php.net/simplexml来解析XML文件。如果您在每个请求上调用feed,它将减慢页面速度,您可以将feed lcoaly缓存为XML文件并解析该文件。

您可以设置CRON作业,根据需要定期更新缓存文件。