我想解析以下XML file。
到目前为止我所拥有的是:
$xml = new SimpleXMLElement('http://smarkets.s3.amazonaws.com/oddsfeed.xml', LIBXML_NOCDATA, true);
foreach ($xml->odds->event as $item) {
echo (string)$item->market;
}
但这不起作用。你能救我吗?
答案 0 :(得分:4)
您可以尝试使用php CURL:
$ch = curl_init();
$url = 'http://smarkets.s3.amazonaws.com/oddsfeed.xml';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
$data = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($data);
print_r($xml);
答案 1 :(得分:4)
我不知道您要提取哪些信息,因此这里是一个如何从所有市场节点获取属性“id”和“slug”的示例。
只需将compress.zlib://
添加到您的网址即可获取xml,适用于PHP 4.3.0及更高版本
<?php
$xml = simplexml_load_file('compress.zlib://http://smarkets.s3.amazonaws.com/oddsfeed.xml') or die("Error: Cannot create object");
foreach ($xml->event as $item) {
echo $item->market['id'] . "<br>" . $item->market['slug'] . "<br><br>";
}
?>