我可以解析许多不同类型的XML Feed,并为每种不同的情况提供方法。我遇到过一个我不熟悉如何攻击它的人。
feed有元素属性并不是什么大问题,但元素的一些属性就是这样,输出基于一个值。
tornado="0" funnelcloud="0" wallcloud="0" rotation="0" hail="1" wind="0" flood="0" flashflood="0" other="0"
所以基本上如果有1它将输出该数据。那么我该如何解析它以便输出列出的那个呢?我想我可能需要一个阵列?如果有任何例子,我可以得到一个想法?
以下是我如何解析效果很好的数据。轻巧简单。
$data = "http://www.spotternetwork.org/data.php";
$xml = simplexml_load_file($data);
foreach($xml->report as $report){
$date = $report['stamp'];
$narrative = $report['narrative'];
$loc = $report['city1'];
$tz = $report['tz'];
$time = strtotime($date.' UTC');
$dateInLocal = date("D g:i a", $time);
-Thanks
答案 0 :(得分:0)
您需要指定用于解析xml的内容,但假设它是simpleXML,您可以执行以下操作:
$attrs = [];
foreach($report->attributes() as $a => $b) {
$attrs[$a] = $b;
}
$value = array_search('1', $attrs);
开关:
switch ($value) {
case 'hail':
echo "hail stuff";
break;
case 'tornado':
echo "tornado stuff";
break;
}