Code前端首页关于Code前端联系我们

php传递xml,php传递参数到另一个页面

terry 3年前 (2023-09-30) 阅读数 47 #PHP
文章标签 PHP Date()

本文目录一览:

  • 1、php怎么发送xml报文到WSRecvService
  • 2、PHp怎么获取网络传过来的xml文件
  • 3、php 如何发送xml报文
  • 4、php 传递xml到asp,

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的地址,解析出来就好了。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门