编码问题,function
成都网站建设哪家好,找创新互联建站!专注于网页设计、成都网站建设、微信开发、微信小程序、集团成都定制网页设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都会所设计等众多领域,积累了大量丰富的经验,同时也获得了客户的一致认可!
characterData改成如下
function
characterData($parser_instance,
$xml_data)
{
global
$name,$position;
$xml_data=iconv("utf-8","gb2312",$xml_data);//转换成gb2312
if($position)
echo
$xml_data."br";
if($name)
echo
$xml_data."br";
}
显示的那个页面也要有charset=gb2312
无论是返回 json 还是 xml 数据,区别仅在于数据的格式。
返回 xml 格式数据示例如下:
?php
//指示返回数据格式为 xml
header('Content-Type: text/xml');
?
?xml version="1.0" encoding="utf-8" ?
?php
//构造 xml
//$xmldata = "
// data
// site_name$site[name]/site_name
// ........
// data";
echo $xmldata;
?
给个小例子:
1.直接是xml字符串
?php
$string = XML
?xml version='1.0'?
document
titleForty What?/title
fromJoe/from
toJane/to
body
I know that's the answer -- but what's the question?
/body
/document
XML;
$xml = simplexml_load_string($string);
print_r($xml);
?
2. xml文件的
?php
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
print_r($xml);
} else {
exit('Failed to open test.xml.');
}
?
php返回xml,首先封装好xml数据格式,然后return即可。示例如下:
?php
//name
$name="zhidao";
//age
$age=10;
//构造xml数据格式
$xml = XML
?xml version="1.0" encoding="utf-8"?
baidu
name {$name} /name
age{$age}/age
/baidu
XML;
return $xml;
?
转成数组
?php/*** function:使用字符串方式读XML文件* author:JetWu* date:2016.12.03**/$file = './write_str.xml';$con = file_get_contents($file); //XML标签配置$xmlTag = array( 'starttime', 'endtime', 'school'); $arr = array();foreach($xmlTag as $x) { preg_match_all("/".$x.".*\/".$x."/", $con, $temp); $arr[] = $temp[0];}//去除XML标签并组装数据$data = array();foreach($arr as $key = $value) { foreach($value as $k = $v) { $a = explode($xmlTag[$key].'', $v); $v = substr($a[1], 0, strlen($a[1])-2); $data[$k][$xmlTag[$key]] = $v; }}echo 'pre';print_r($data);