2011-12-28 2 views
0

SimpleXMLElementでオブジェクトへのXML応答をしようとしています。しかし、XMLの要素はこの操作で消えます。はっきりとXMLとのSimpleXMLElementを見てみましょう:SimpleXMLObjectを使用しているときにジオ情報が表示されない

<item><pubDate>Wed, 28 Dec 2011 13:04:30 GMT</pubDate><title>M 1.2, Nevada</title><description>December 28, 2011 13:04:30 GMT</description><link>http://earthquake.usgs.gov/earthquakes/recenteqsus/Quakes/nn00361989.php</link><geo:lat>37.4048</geo:lat><geo:long>-117.0953</geo:long><dc:subject>1</dc:subject><dc:subject>pasthour</dc:subject><dc:subject>7.00 km</dc:subject><guid isPermaLink="false">nn00361989</guid></item> 

そして、ここではのSimpleXMLElementリターンです:

[item] => SimpleXMLElement Object 
     (
      [pubDate] => Wed, 28 Dec 2011 13:04:30 GMT 
      [title] => M 1.2, Nevada 
      [description] => December 28, 2011 13:04:30 GMT 
      [link] => http://earthquake.usgs.gov/earthquakes/recenteqsus/Quakes/nn00361989.php 
      [guid] => nn00361989 
     ) 

あなたは地理緯度と長いの情報はここにありません見ての通り。

$doc = new SimpleXMLElement($response) 

が、私はこれでパラメータを使用する必要があります。私はSimpleXMLObjectを作成するため、このコードをしようとしていますか?

答えて

2

試してみてください

$doc = new SimpleXMLElement($response) 
$namespaces = $doc->getNamespaces(true); 
$docGeoData = $doc->item->children($namespaces['geo']); 

注あなたのこと名前空間の宣言がないため、xmlフラグメントが不正に形成されています

+0

笑:)それは私のものではなく、政府のウェブサイトからです:http://earthquake.usgs.gov/earthquakes/catalogs/eqs1hour-M1.xml – MAB

0

おそらく、あなたは「地理」で名前空間データもあることをSimpleXMLを伝える必要がありますので、あなたの地理データは、XMLで名前空間さsimplexml_load_file

$doc = simplexml_load_file($response) 
+0

これは動作しません。 – MAB

関連する問題