无论是返回 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;
?
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解析xml报文的方法是DOMDocument:
解析方法如下:
$xmlstring = XML
?xml version='1.0'?
document
cmd attr='default'login/cmd
loginimdonkey/login
/document
XML;
$dom = new DOMDocument();
$dom-loadXML($xmlstring);
print_r(getArray($dom-documentElement));
function getArray($node) {
$array = false;
if ($node-hasAttributes()) {
foreach ($node-attributes as $attr) {
$array[$attr-nodeName] = $attr-nodeValue;
}
}
if ($node-hasChildNodes()) {
if ($node-childNodes-length == 1) {
$array[$node-firstChild-nodeName] = getArray($node-firstChild);
} else {
foreach ($node-childNodes as $childNode) {
if ($childNode-nodeType != XML_TEXT_NODE) {
$array[$childNode-nodeName][] = getArray($childNode);
}
}
}
} else {
return $node-nodeValue;
}
return $array;
}