PHP Xml解析中的问题

代码如下<?phpheader("Content-type:text/html;charset=utf-8");$xml=simplexml_load_file('tes... 代码如下
<?php
header("Content-type: text/html; charset=utf-8");
$xml = simplexml_load_file('test.xml');
echo $xml->error;
echo $xml->results->currentCity."<br>";
foreach($xml->results as $exml)
{
echo $exml->weather_data->date."<br>";
}
?>
test.xml文件内容
<CityWeatherResponse>
<error>0</error>
<status>success</status>
<date>2015-03-24</date>
<results>
<currentCity>郑州</currentCity>
<weather_data>
<date>周二 03月24日 (实时:14℃)</date>
<weather>小雨</weather>
<wind>微风</wind>
<temperature>10℃</temperature>
<date>周三</date>
<weather>阴转小雨</weather>
<wind>微风</wind>
<temperature>16 ~ 9℃</temperature>
<date>周四</date>
<weather>阵雨转多云</weather>
<wind>微风</wind>
<temperature>15 ~ 7℃</temperature>
<date>周五</date>
<weather>晴</weather>
<wind>风</wind>
<temperature>10℃</temperature>
</weather_data>
</results>
</CityWeatherResponse>
我用循环只能输出“周二 03月24日 (实时:14℃)”这个日期,为什么不能输出周三周四的?
展开
 我来答
sunxch100
推荐于2016-09-27 · TA获得超过3619个赞
知道大有可为答主
回答量:1818
采纳率:50%
帮助的人:733万
展开全部

xml格式组织不对。

<weather_data>下面的元素应该再分一层才可以,现在的格式并不能区分每个日期,可以这样:

<CityWeatherResponse>
<error>0</error>
<status>success</status>
<date>2015-03-24</date>
<results>
<currentCity>郑州</currentCity>
<weather_data>
<data>
<date>周二 03月24日 (实时:14℃)</date>
<weather>小雨</weather>
<wind>微风</wind>
<temperature>10℃</temperature>
</data>
<data>
<date>周三</date>
<weather>阴转小雨</weather>
<wind>微风</wind>
<temperature>16 ~ 9℃</temperature>
</data>
<data>
<date>周四</date>
<weather>阵雨转多云</weather>
<wind>微风</wind>
<temperature>15 ~ 7℃</temperature>
</data>
<data>
<date>周五</date>
<weather>晴</weather>
<wind>风</wind>
<temperature>10℃</temperature>
</data>
</weather_data>
</results>
</CityWeatherResponse>

遍历:

foreach($xml->results->weather_data->data as  $exml)
{
echo $exml->date."<br>";
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式