【发布时间】:2015-05-15 14:46:54
【问题描述】:
我已经为这个问题头疼了 2 天了,所以我希望有人能提供一些帮助。
我需要来自网站的 XML 数据。该代码返回一个不错的列表,但缺少时间数组(数组中的数组)。 这是我的代码:
<?php
$url="http://publications.elia.be/Publications/Publications/WindForecasting.v1.svc/GetForecastGraphDataXml?beginDate=2015-05-13&endDate=2015-05-18&isOffshore=&isEliaConnected=";
echo $url;
$sxml = Simplexml_load_file($url);
var_dump($sxml);
foreach ($sxml ->ForecastGraphItems ->WindForecastingGraphItem as $type){
echo 'FC ';
echo $type ->Forecast."<br>";
echo 'LF ';
echo $type ->LoadFactor."<br>";
echo 'DT ';
echo $type ->Time[0]->DateTime;
echo "<br>";
echo 'BID ';
echo $type ->Bid."<br>";
echo 'RA ';
echo $type ->RunningAverage."<br>";
echo "<br>";
}
?>
我手动打开网站时得到的 XML 格式如下所示,或查看原始网站:http://publications.elia.be/Publications/Publications/WindForecasting.v1.svc/GetForecastGraphDataXml?beginDate=2015-05-13&endDate=2015-05-18&isOffshore=&isEliaConnected=
<?xml version="1.0" encoding="UTF-8"?>
<WindForecastingGraphDataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Elia.PublicationService.DomainInterface.WindForecasting.v1">
<ErrorMessage i:nil="true"/>
<ForecastGraphItems>
<WindForecastingGraphItem>
<Bid>No</Bid>
<Forecast>571.45</Forecast>
<LoadFactor>0.32</LoadFactor>
<RunningAverage>585.59</RunningAverage>
<Time xmlns:a="http://schemas.datacontract.org/2004/07/System">
<a:DateTime>2015-05-12T22:00:00Z</a:DateTime>
<a:OffsetMinutes>120</a:OffsetMinutes>
</Time>
</WindForecastingGraphItem>
<WindForecastingGraphItem>
<Bid>No</Bid>
<Forecast>562.95</Forecast>
<LoadFactor>0.32</LoadFactor>
<RunningAverage>578.47</RunningAverage>
<Time xmlns:a="http://schemas.datacontract.org/2004/07/System">
<a:DateTime>2015-05-12T22:15:00Z</a:DateTime>
<a:OffsetMinutes>120</a:OffsetMinutes>
</Time>
现在,当我 var_dump($sxml),或者如果我尝试获取它时,TIME 的子数组退出了......(见下文)。
我还尝试了foreach ($sxml ->ForecastGraphItems ->WindForecastingGraphItem -> Time as $time){ ...,它有效,但返回为空。
任何人都可以帮助为什么'时间'数组是空的?
var_dump 的回声下方:
http://publications.elia.be/Publications/Publications/WindForecasting.v1.svc/GetForecastGraphDataXml?beginDate=2015-05-13&endDate=2015-05-18&isOffshore=&isEliaConnected=object(SimpleXMLElement)#1 (2) { ["ErrorMessage"]=> 对象(SimpleXMLElement)#2 (0) { } ["ForecastGraphItems"]=> 对象(SimpleXMLElement)#3 (1) { ["WindForecastingGraphItem"]=> 数组(481) { [0]=> object(SimpleXMLElement)#4 (5) { ["Bid"]=> string(2) "No" ["预测"]=> 字符串(6) "571.45" ["LoadFactor"]=> 字符串(4) "0.32" ["RunningAverage"]=> 字符串(6) "585.59" ["Time"]=> 对象(SimpleXMLElement)#485 (0) { } } [1]=> object(SimpleXMLElement)#5 (5) { ["Bid"]=> string(2) "No" ["预测"]=> 字符串(6) "562.95" ["LoadFactor"]=> 字符串(4) "0.32" ["RunningAverage"]=> 字符串(6) "578.47" ["Time"]=> 对象(SimpleXMLElement)#485 (0) { } }
【问题讨论】:
-
是因为
<a:DateTime>中的命名空间a