扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
需要确认一下: 是不是你把表单里的数据提交成一个XML格式的请求?
溧阳网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
如果是:
直接FORM提交后,ACTION里生成XML的请求格式就可以了。
获取request中body的字符串数据,比如一个数组转成xml后,你用post方式给服务器发送xml的字符串,服务器就用file_get_contents('php://input') 去读取xml格式 然后转成数组即可
?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是可以的,但是参数设置比较麻烦。这种情况有一些现成的类库实现,提供一个简单的示例
这个很简单,先用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小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流