2012-02-09 16 views
-1

私は要素からアクセスするために必要なXMLフィードを持っています。しかし、私が試した方法のどれも働いていません。以下はPHPのXMLファイルから要素を読み取るにはどうすればよいですか?

はフルでXMLフィードです:

<GeocodeResponse> 
<status>OK</status> 
<result> 
    <type>locality</type> 
    <type>political</type> 
    <formatted_address>Liverpool, Merseyside, UK</formatted_address> 
    <address_component> 
     <long_name>Liverpool</long_name> 
     <short_name>Liverpool</short_name> 
     <type>locality</type> 
     <type>political</type> 
    </address_component> 
    <address_component> 
     <long_name>Merseyside</long_name> 
     <short_name>Mersyd</short_name> 
     <type>administrative_area_level_2</type> 
     <type>political</type> 
    </address_component> 
    <address_component> 
     <long_name>England</long_name> 
     <short_name>England</short_name> 
     <type>administrative_area_level_1</type> 
     <type>political</type> 
    </address_component> 
    <address_component> 
     <long_name>United Kingdom</long_name> 
     <short_name>GB</short_name> 
     <type>country</type> 
     <type>political</type> 
    </address_component> 
    <geometry> 
     <location> 
      <lat>53.4115400</lat> 
      <lng>-2.9901160</lng> 
     </location> 
     <location_type>APPROXIMATE</location_type> 
     <viewport> 
      <southwest> 
       <lat>53.3049930</lat> 
       <lng>-3.2462348</lng> 
      </southwest> 
      <northeast> 
       <lat>53.5178208</lat> 
       <lng>-2.7339972</lng> 
      </northeast> 
     </viewport> 
     <bounds> 
      <southwest> 
       <lat>53.3115426</lat> 
       <lng>-3.0191794</lng> 
      </southwest> 
      <northeast> 
       <lat>53.5039071</lat> 
       <lng>-2.8115043</lng> 
      </northeast> 
     </bounds> 
    </geometry> 
</result> 
</GeocodeResponse> 

私はgeometry->、場所に> lat->場所を選択しようとすると、この緯度とLNGの中にいます。

+0

を( http://php.net/manual/en/book.xml.php) –

+1

ここにPHPに関する質問はありますか?コードはありますか?どのようにファイルを読んでいるのですか?あなたは何も働いていないと言いますが、何を試しましたか? –

+3

[PHPでXMLファイルを解析する方法]の複製が可能です(http://stackoverflow.com/questions/1706042/how-to-parse-xml-file-in-php) –

答えて

2

simplexml_load_stringまたはsimplexml_load_fileを試しましたか? は単にそれを使用してデータをロードし、このように、あなたがしたいノードにアクセス:

$xml = simplexml_load_file('your.xml'); 
echo $xml->GeocodeResponse->result->geometry->location->lat; 
echo $xml->GeocodeResponse->result->geometry->location->lon; 
+0

私は持っている必要がありますより具体的にされました 私はエラーが発生していますが、それは働いていない私の単純なXMLローダーでしたので、これまで通りに見えます。私はphp.iniでopensslを開き、すべてうまくいきます。 ]]私はすべてのコメント+すべての時間を無駄にして申し訳ありません。ありがとうございます –

+0

@ダニエルベンジーこの情報であなたの質問を更新してください。適切な詳細がなくても、私たちは良い答えを出すことができません。 – Oldskool

0

あなたは文字列を持っている場合は、あなたが行うことができます:[!XMLパーサ救助に]

$str = "<?xml version='1.0'?> 
      <document> 
       <cmd>login</cmd> 
       <login>Richard</login> 
      </document>"; 
$xml = simplexml_load_string($str); 

print_r($xml); 

print_r($xml->document->cmd); 

// Remember to type cast it a string if you want the actual value. 
// Example: 
$myval = (string) $xml->document->cmd; 
関連する問題