
正文
php接收不到xml数据 php读取xml接口数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中如何接收服务器端返回的xml数据 注:服务器是通过接口调用显示xml数据的 。
服务器端是你的还是别人的?
如果是别人的,你无法控制,你只需要给一个接口给他,他会返回xml,你直接解析这个xml就可以了。
如果是自己的,你就要在服务器端使用fsockopen()函数调用你客户端的接口,同样,在客户端,解析xml
相关问答
Q1: 用java 接收 PHP 发送的xml数据 用curl扩展, 但是java端就是接收不到数据
你先echo 一个值出来看看如echo 'abc';看这边能alert出来吗不过你这个ajax提交,是最原始的xmlhttprequest现在都用jquery9估计很早以前没人直接用xmlhttprequest了建议你用jquery
Q2: php如何获取xml数据包
//提取XML数据源
$xmlUrl= '';
echo $xmlUrl;
$curl= curl_init();
curl_setopt($curl, CURLOPT_URL, $xmlUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_HEADER, 0);
$xmlData= curl_exec($curl);
curl_close($curl);
//判断XML编码
if(preg_match("/encoding\=[\'\"](.*?)[\'\"]/i", $xmlData, $encoding)){
$encoding = $encoding[1];
}else{
$encoding = mb_detect_encoding($xmlData, array('ASCII', 'GBK', 'GB2312', 'UTF-8', 'iso-8859-1'));
}
echo $encoding;
//转换XML编码
if($encoding){
$xmlData = preg_replace('/encoding\=[\'\"](.*?)[\'\"]/i', 'encoding="utf-8"', $xmlData);
switch(strtolower($encoding)){
case 'utf-8': break;
case 'iso-8859-1':
$xmlData = utf8_encode($xmlData);
break;
default:
$xmlData = iconv($encoding, 'UTF-8//IGNORE', $xmlData);
break;
}
}
$xmlData= simplexml_load_string($xmlData);
print_r($xmlData);
Q3: 怎么用php接收不到xmlhttprequest发送的数据呢?
你先echo 一个值出来看看,如 echo 'abc';
看这边能alert出来吗
不过你这个ajax提交,是最原始的xmlhttprequest
现在都用jquery,估计很早以前没人直接用xmlhttprequest了
建议你用jquery
Q4: PHP读取XML问题
假定这个xml是一个字串 $xml
$xml = new SimpleXMLElement($xml);
$autoPlay = $xml-attributes()-autoPlay;
$autoNextSong = $xml-attributes()-autoNextSong;
这样你获取的会是两个对象, 如果需要用来做某些特定的事情, 比如显示
echo (string)$autoPlay;







