使用SimpleXML访问XML文件无法正常工作

时间:2017-02-10 13:16:15

标签: php xml

当我使用yahoo天气进行API调用时,我将以下xml返回给我。当我回应出$时,为什么我会得到一个空白?

 $endpoint = 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%3D%20560743&diagnostics=true';


 $xml = simplexml_load_file($endpoint) or die('failed to load xml');
 $out = $xml -> query -> diagnostics -> publiclyCallable;

 echo $out;

返回XML:

 This XML file does not appear to have any style information associated with it. The document tree is shown below.
 <query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2017-02-10T11:54:56Z" yahoo:lang="en-US">

 <diagnostics>
    <publiclyCallable>true</publiclyCallable>
    <url execution-start-time="1" execution-stop-time="7" execution-time="6">...</url>
    <user-time>8</user-time>
    <service-time>6</service-time>
    <build-version>2.0.92</build-version>
 </diagnostics>
 <results>...</results>
 </query>

2 个答案:

答案 0 :(得分:0)

删除query,因为$xml已代表它:

$endpoint = 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%3D%20560743&diagnostics=true';
$xml = simplexml_load_file($endpoint) or die('failed to load xml');
$out = $xml -> diagnostics -> publiclyCallable;
echo $out;    // `true`

答案 1 :(得分:0)

XML似乎无效,在将收到的字符串传递给

之前删除第一行
  

使用simplexml_load_file()

功能