0

ご挨拶、

NOAA の Weather Alert CAP を PHP で解析する方法がわかりません。次のことを行う必要があります。

  • フィードで適切な郡を見つけます
  • アクティブなアラートがあることを確認する
  • アラートの説明を表示する

私が使用しているフィードはこのアドレスにあります - http://www.weather.gov/alerts/va.capsimplexml_load_string()過去にこの種のものに使用したことがありますが、このフィードでは機能しないようです。

ありがとう!

4

2 に答える 2

2

グーグルでもう少し時間を過ごした後、私は自分がやろうとしていることを正確に実行するスクリプトに出くわしました。車輪の再発明を試みるのではなく、私はそれを使うつもりです。http://saratoga-weather.org/scripts-atom.php#atomadvisory

于 2011-01-11T18:16:24.857 に答える
1

名前空間が原因で問題が発生している可能性があります

<cap:alert xmlns:cap='http://www.incident.com/cap/1.0'>

これにより、情報を抽出する方法のアイデアが得られるはずです

$sxe = simplexml_load_file('http://www.weather.gov/alerts/va.cap');
foreach ($sxe->getDocNamespaces() as $ns => $uri) {
    $sxe->registerXPathNamespace($ns, $uri);
}
foreach($sxe->xpath('//cap:areaDesc') as $areaDesc) {
    echo $areaDesc;
}

ちなみに、SimpleXml は単純な XML 専用です。代わりに DOM の使用を検討してください。

于 2011-01-11T17:04:37.590 に答える