1:跟据url得到xml并解析成数组
<?php /* 描述:将xml文档格式化成一个数组,让你用访问数组的方式来访问xml文档的各个节点,(爽的要死,嘎嘎!) @xml: 传进去的xml格式的字符串(自己验证一下xml格式要标准) @return : 返回一个数组 */ function xml2array($xml) { $xmlary = array(); $reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s'; $reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/'; preg_match_all($reels, $xml, $elements); foreach ($elements[1] as $ie => $xx) { $xmlary[$ie]["name"] = $elements[1][$ie]; if ($attributes = trim($elements[2][$ie])) { preg_match_all($reattrs, $attributes, $att); foreach ($att[1] as $ia => $xx) $xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia]; } $cdend = strpos($elements[3][$ie], "<"); if ($cdend > 0) { $xmlary[$ie]["text"] = substr($elements[3][$ie], 0, $cdend - 1); } if (preg_match($reels, $elements[3][$ie])) $xmlary[$ie]["elements"] = xml2array($elements[3][$ie]); else if ($elements[3][$ie]) { $xmlary[$ie]["text"] = $elements[3][$ie]; } } return $xmlary; } $ary = xml2array(file_get_contents('http://rcmsapi.chinacache.com:36000/customer/apple/channels')); echo "<pre>"; print_r($ary); echo "</pre>"; ?>
2:调用url
$url="http://www.baidu.com"; echo file_get_contents($url); $fp=fopen($url,"r"); //第二种 $response = ''; while($row = fgets($fp)) { $response.= trim($row)."\n"; } echo $response;
3:调用url返回json数组的字符串,并转换为数组
<html> <body> <?php $url='http://rcmsapi.chinacache.com:36000/customer/apple/channels'; $dt_record=array(); $de_json = json_decode(file_get_contents($url),TRUE); $count_json = count($de_json); for ($i = 0; $i < $count_json; $i++) { $dt_record[$i] = $de_json[$i]['code']; }; ?> </body> </html>
4:通过url解析返回的xml
function get_bandwidth_by_qs($qs_url){ $xml=simplexml_load_file($qs_url); foreach($xml->children() as $child) { if($child->getName()=='OutData') //得到节点名 return $child; //得到节点内容 } }
5:解决调用url返回结果有乱码问题
1、解决方法,找个ungzip的函数来转换下
2、给你的url加个前缀,这样调用
$content = file_get_contents("compress.zlib://".$url);
无论页面是否经过gzip压缩,上述代码都可以正常工作!
使用curl模块同样可解决问题
function curl_get($url, $gzip=false){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
2、给你的url加个前缀,这样调用
$content = file_get_contents("compress.zlib://".$url);
无论页面是否经过gzip压缩,上述代码都可以正常工作!
使用curl模块同样可解决问题
function curl_get($url, $gzip=false){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里
$content = curl_exec($curl);
curl_close($curl);
return $content;
}
相关推荐
xmljson解析客户端,见下文 http://blog.csdn.net/uaecho/article/details/17887597
某培训学校的Android课堂内容整理,本章主要是讲的XML和JSON解析,讲的还是相当好的。 希望对大家能有帮助
iOS JSON XML 解析实例 e,详情见:http://blog.csdn.net/vnanyesheshou/article/details/52484367 http://blog.csdn.net/vnanyesheshou/article/details/52505430
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the ...
苹果自带的XML解析与JSON序列化类的使用。
Android XML和JSON解析的代码,学习笔记。
iOS xml解析和json解析demo
本着探究 JSON 原理的目的,我将会在这DEMO中实现了一个简单的JSON解析器。由于 JSON 本身比较简单,解析起来也并不复杂。所以如果大家感兴趣的话,在看完本DEMO后,不妨自己动手实现一个 JSON 解析器。
实现了XML解析、JSON解析,完成后均归纳为字典格式的数据
融合了XML与JSON的合成与解析(包括创建、更新、添加、删除、显示等操作)
json xml 解析demojson xml 解析demojson xml 解析demojson xml 解析demojson xml 解析demojson xml 解析demo
网络连接和XML,JSON解析,分别通过xml,json可以对网络上数据进行获取。
spirng+struts+Ibatis+xml、json解析
json 解析 xml android 网络 互动
一直苦恼xml转json,很多工具类支持,但是转换的效果都很差,一个偶然的时间,我找到这个资源,分享给大家,解析效果相当不错。 使用方法: //将xml转为json JSONObject xmlJSONObj = XML.toJSONObject(ret);
本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。
xmljson解析服务端,见下文 http://blog.csdn.net/uaecho/article/details/17887597
很好的demo,涉及移动互联 多线程 简单明了的让你掌握xml,json解析
dom4j和fastjson jar包,用于xml文件的解析和json文件的解析
iOS,XML解析, JSON解析, @"SAX解析",@"Dom解析第一种方式",@"Dom解析第二种方式",@"系统解析",@"字符串解析",@"数组解析",@"字典解析",@"Data解析