0

我可以毫无问题地解析许多不同类型的 XML 提要,并为每种不同情况提供方法。我遇到了一个我不熟悉如何攻击它的人。

提要具有元素属性,这没什么大不了的,但是元素的某些属性就像这样,其中输出基于一个值。

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);

-谢谢

4

1 回答 1

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;
}
于 2013-05-08T04:15:16.707 回答