新浪天气接口XML处理方式,最终转成数组使用代码
来源:互联网 发布:淘宝退款原因有影响吗 编辑:程序博客网 时间:2024/06/06 06:41
<?php
//强制页面UTF-8编码
//header("Content-Type: text/html;charset=UTF-8");
$local = trim($_GET["city"]);
//根据不同的浏览器,返回不同的urlencode编码
if (strpos($_SERVER["HTTP_USER_AGENT"], "MSIE"))
//IE系列无需强制转码成GB2312后再编码,否则会在每个编码中间产生%00的垃圾数据,导至无法使用
{
echo "Internet Explorer" . "<br><br>";
echo urlencode($local) . "<br><br>";
$ct = urlencode($local);
} else { //其它浏览器需先强制mb_convert_encoding转码成GB2312后再编码
echo "Non Internet Explorer" . "<br><br>";
echo urlencode(mb_convert_encoding($local, "gb2312", "UTF-8")) . "<br><br>";
$ct = urlencode(mb_convert_encoding($local, "gb2312", "UTF-8"));
}
//将要访问的新浪天气接口
$url = "http://php.weather.sina.com.cn/xml.php?city=" . $ct .
"&password=DJOYnieT8234jlsK&day=0";
//开始获得天气数据
$html = file_get_contents($url);
//echo $html;
$xml = simplexml_load_string($html);
//var_dump($xml); //查看现对象内容
//echo "<br><br>";
//将XML内容先转成JSON再转成ARRAY的数组内容
$xml = json_decode(json_encode($xml), true);
//print_r($xml); //整理XML数据
//echo "<br><br>";
//数据使用方法
if (count($xml, 1) <= 1) {
//不知道为啥开头已经是UTF-8编码了,但这里直接显示中文就是乱码,实际是GB2312的,所以强制转了下
//找到原因了,将该文件的编码格式改为UTF-8保存就可以了
//echo mb_convert_encoding("城市名称写的不对,或无该城市天气", "UTF-8", "gb2312");
echo "城市名称写的不对,或无该城市天气";
echo "<br><br>";
echo count($xml, 1);
} else {
//使用数组中的内容
echo trim($xml['Weather']['city'])."<br><br>";
var_dump($xml);
echo "<br><br>";
echo count($xml, 1);
}
?>
//强制页面UTF-8编码
//header("Content-Type: text/html;charset=UTF-8");
$local = trim($_GET["city"]);
//根据不同的浏览器,返回不同的urlencode编码
if (strpos($_SERVER["HTTP_USER_AGENT"], "MSIE"))
//IE系列无需强制转码成GB2312后再编码,否则会在每个编码中间产生%00的垃圾数据,导至无法使用
{
echo "Internet Explorer" . "<br><br>";
echo urlencode($local) . "<br><br>";
$ct = urlencode($local);
} else { //其它浏览器需先强制mb_convert_encoding转码成GB2312后再编码
echo "Non Internet Explorer" . "<br><br>";
echo urlencode(mb_convert_encoding($local, "gb2312", "UTF-8")) . "<br><br>";
$ct = urlencode(mb_convert_encoding($local, "gb2312", "UTF-8"));
}
//将要访问的新浪天气接口
$url = "http://php.weather.sina.com.cn/xml.php?city=" . $ct .
"&password=DJOYnieT8234jlsK&day=0";
//开始获得天气数据
$html = file_get_contents($url);
//echo $html;
$xml = simplexml_load_string($html);
//var_dump($xml); //查看现对象内容
//echo "<br><br>";
//将XML内容先转成JSON再转成ARRAY的数组内容
$xml = json_decode(json_encode($xml), true);
//print_r($xml); //整理XML数据
//echo "<br><br>";
//数据使用方法
if (count($xml, 1) <= 1) {
//不知道为啥开头已经是UTF-8编码了,但这里直接显示中文就是乱码,实际是GB2312的,所以强制转了下
//找到原因了,将该文件的编码格式改为UTF-8保存就可以了
//echo mb_convert_encoding("城市名称写的不对,或无该城市天气", "UTF-8", "gb2312");
echo "城市名称写的不对,或无该城市天气";
echo "<br><br>";
echo count($xml, 1);
} else {
//使用数组中的内容
echo trim($xml['Weather']['city'])."<br><br>";
var_dump($xml);
echo "<br><br>";
echo count($xml, 1);
}
?>
0 0
- 新浪天气接口XML处理方式,最终转成数组使用代码
- 新浪天气API接口
- 新浪天气API接口
- 用JS通过新浪天气API接口获取天气
- PHP将数组转成XML格式的实现代码
- 天气接口所有城市代码
- 天气查询接口演示代码
- 天气查询接口演示代码
- php将XML转成数组
- 中国天气网天气预报API接口城市代码,XML格式,数据具体到县、区级别
- 中国天气网天气预报API接口城市代码,XML格式,数据具体到县、区级别
- 中国天气网天气预报API接口城市代码(XML格式,信息全)
- 新浪天气预报接口 可一次查询多个城市天气
- 几个常见的XML天气接口
- 中国天气api接口 json,xml
- 中国天气api接口xml,json
- HTML代码转成字符串数组
- DOM方式解析xml文件查看天气
- Linux中cat、more、less、head、tail内容查看命令解析与比较
- poj 1220 NUMBER BASE CONVERSION(字符串处理经典)
- 背包问题题型 龟兔赛跑 hdoj 2059
- Merge Two Sorted Lists
- 开篇
- 新浪天气接口XML处理方式,最终转成数组使用代码
- jQuery formValidator
- cocos2d-x使用tinyxml2解析&存储xml
- Android Activity的onCreate()函数
- 在mac终端中用颜色显示不同类型文件
- HTTP Status Code
- Python练习代码 -- 字符串和正则表达式, 文件文件夹操作
- 游戏服务器:编译linux版本
- 校招面试笔试题