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 に答える