2016-05-10 12 views
1

私が呼び出して、その後、(file_get_contents()を使用して)APIからそのようなXML形式のAPI応答を応答を受信し、いくつかのPHPコードがあります。xml応答から特定の部分を取得しますか?

<?xml version="1.0"?> 
<root><status>success</status> 
<duration>5 seconds</duration> 
<average>13692.4</average></root> 

ので、例えばPHPでどのように私はこのXMLを取るだろうし応答し、<average>の値を取得しますか?どんな助けも大いに評価されるでしょう:)

+0

アウト[function.xml-構文解析into- struct](http://php.net/manual/en/function.xml-parse-into-struct.php) '例#2' && '例#3' –

答えて

1

XMLを解析する方法はいくつかありますが、そのうちの1つはXMLReaderです。あなたがポストされたXMLからaverageの値を取得するための簡単な例では、このようなものになるだろう:

<?php 

// Read the XML output from the API 
$xml = file_get_contents('https://api.example.com/output.xml'); 

$reader = new XMLReader(); 
$reader->open('data://text/xml,' . $xml); 

// Read the XML 
while ($reader->read()) { 
    // Look for the "average" node 
    if ($reader->name == 'average') { 
     $value = $reader->readString(); 
     if (!empty($value)) { 
      // This will output 13692.4 
      var_dump($value); 
     } 
    } 
} 

$reader->close(); 

ライブの例ここで見ることができます:https://3v4l.org/s7sNl

関連する問題