本文目录一览:
php怎么发送xml报文到WSRecvService
$client = new SoapClient('这里填wsdl文件地址');
$xml = '这里填要发送的xml';
$client-要调用的方法名(array('参数名' = $xml));
//参数一般为数组,下标即接收的参数名,如,对方接收的参数名为sfToXMLStr,则是array('sfToXMLStr' = $xml)
PHp怎么获取网络传过来的xml文件
?php
$xml_string = file_get_contents("php://input");
$xml_string = trim($xml_string);
$xml_object = simplexml_load_string($xml_string);
$xml_arr = get_object_vars($xml_object);
只要别人访问你这个文件传递xml。你就能获取其中的信息了。
php 如何发送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到asp,
这个很简单,先用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的地址,解析出来就好了。