
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℃)”这个日期,为什么不能输出周三周四的? 展开
<?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℃)”这个日期,为什么不能输出周三周四的? 展开
1个回答
展开全部
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>";
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询