扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
获取request中body的字符串数据,比如一个数组转成xml后,你用post方式给服务器发送xml的字符串,服务器就用file_get_contents('php://input') 去读取xml格式 然后转成数组即可
10年的涟水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整涟水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“涟水网站设计”,“涟水网站推广”以来,每个客户项目都认真落实执行。
?php
if( $_SERVER['REQUEST_METHOD'] === 'POST' ){
// 接收
$content = file_get_contents('php://input');
$xml = simplexml_load_string($content);
echo "来自XML接收方的响应\n";
print_r( get_object_vars($xml) );
exit;
}
// 发送行为
$xml = xml
?xml version="1.0"?
FOX
helloworld/hello
/FOX
xml;
$setting = array(
'http' = array(
'method' = 'POST',
'user_agent' = 'Client Application Name',
'header' = "Content-type: application/x-www-form-urlencoded",
'content' = $xml
)
);
$context = stream_context_create($setting);
$url = ''. $_SERVER['REQUEST_URI'];
$response = file_get_contents($url, null, $context);
echo $response;
CURL是可以的,但是参数设置比较麻烦。这种情况有一些现成的类库实现,提供一个简单的示例
需要确认一下: 是不是你把表单里的数据提交成一个XML格式的请求?
如果是:
直接FORM提交后,ACTION里生成XML的请求格式就可以了。
这个很简单,先用php读取数据库,看需求传几个参数,比如:关键词、页码、每页显示几条,然后将数据显示为xml格式。
?php
//输出xml
ob_start("ob_gzhandler");
header('Content-Type:application/xml;charset='.$code);
$list = $db - getSearchList($key,$page,$pagesize);
$xml = $this-createXML($list);
echo $xml;
?
调用这个方法:
/**
* 将数组生成XML文件
* array $list
*/
public function createXML($list = null , $code = 'gbk'){
$dom = new DOMDocument('1.0', $code);//编码
$datas = $dom-createElement('datas');
$dom - appendChild($datas);
$time = $dom-createAttribute('time');//时间
$time - nodeValue = date('Y-m-d H:i:s', mktime());
$datas - setAttributeNode($time);
$datas - appendChild($time);
$total = $dom-createAttribute('allitem'); //统计
$total - nodeValue = count($list);
$datas - setAttributeNode($total);
$datas - appendChild($total);
$lists = $dom-createElement('list'); //列表
$datas - appendChild($lists);
foreach($list as $k = $v){
$data = $dom-createElement('data');
foreach($v as $key = $val){
if($key == 'description'){ //如果字段为description,用CDATA对象处理
$element = $dom-createElement($key);
$data-appendChild($element);
$element_value=$dom-createCDATASection($val);
$element-appendChild($element_value);
}else{
$element = $dom-createElement($key);
$data-appendChild($element);
$element_value=$dom-createTextNode($val);
$element-appendChild($element_value);
}
}
$lists-appendChild($data);
}
return $dom-saveXML();
}
asp读取这个php的地址,解析出来就好了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流