亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

xml輸出錯誤

請求xml數據的時候得到這種錯誤:

http://img1.sycdn.imooc.com//561b532a000178c506150222.jpg

我寫的Reponse.php代碼:

<?php

class?Response?{
	const?JSON?=?"json";
	/**
	*?按綜合方式輸出通信數據
	*?@param?integer?$code?狀態碼
	*?@param?string?$message?提示信息
	*?@param?array?$data?數據
	*?@param?string?$type?數據類型
	*?return?string
	*/
	public?static?function?show($code,?$message?=?'',?$data?=?array(),?$type?=?self::JSON)?{
		if(!is_numeric($code))?{
			return?'';
		}

		$type?=?isset($_GET['format'])???$_GET['format']?:?self::JSON;

		$result?=?array(
			'code'?=>?$code,
			'message'?=>?$message,
			'data'?=>?$data,
		);

		if($type?==?'json')?{
			self::json($code,?$message,?$data);
			exit;
		}?elseif($type?==?'array')?{
			var_dump($result);
		}?elseif($type?==?'xml')?{
			self::xmlEncode($code,?$message,?$data);
			exit;
		}?else?{
			//?TODO
		}
	}
	/**
	*?按json方式輸出通信數據
	*?@param?integer?$code?狀態碼
	*?@param?string?$message?提示信息
	*?@param?array?$data?數據
	*?return?string
	*/
	public?static?function?json($code,?$message?=?'',?$data?=?array())?{
		
		if(!is_numeric($code))?{
			return?'';
		}

		$result?=?array(
			'code'?=>?$code,
			'message'?=>?$message,
			'data'?=>?$data
		);

		echo?json_encode($result,JSON_UNESCAPED_UNICODE);
		exit;
	}

	public?function?xmlEncode($code,?$message?=?'',?$data?=?array())?{
		if(!is_numeric($code))?{
			return?'';
		}

		$result?=?array(
			'code'?=>?$code,
			'message'?=>?$message,
			'data'?=>?$data
		);

		header('Content-Type:text/xml');
		$xml?=?"<?xml?version='1.0'?encoding='UTF-8'?>\n";
		$xml?.=?"<root>";
		$xml?.=?self::xmlToEncode($result);
		$xml?.=?"</root>";
		echo?$xml;
	}

	public?static??function?xmlToEncode($result)?{
		$xml?=?$attr?=?'';
		foreach($result?as?$key?=>?$value)?{
			if(is_numeric($key))?{
				$attr?=?"?id='"?.?$key?.?"'";
				$key?=?"item";
			}
			$xml?.=?"<{$key}{$attr}>";
			$xml?.=?is_array($value)???self::xmlToEncode($value)?:?$value;
			$xml?.=?"</{$key}>\n";
		}
		return?$xml;
	}
}

test.php代碼如下:

<?php
	require_once('./Response.php');
	
	$arr?=?array(
		'id'?=>?1,
		'name'?=>?'singwa',
		'type'?=>?array(4,5,6),
		'test'?=>?array(1,45,67=>array(123,'tsysa'))
		
	);
	
	Response::show(20,'sucess',$arr);
?>

審查元素:

http://img1.sycdn.imooc.com//561b54ba00013fb305150343.jpg


貌似<?xml version='1.0' encoding='UTF-8'?>之前多了一個空格,這個怎么處理?

正在回答

1 回答

檢查一下php標簽前后是否有空格

0 回復 有任何疑惑可以回復我~
#1

qq_索馬里海盜盜首_0 提問者

非常感謝!
2015-10-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP開發APP接口
  • 參與學習       79159    人
  • 解答問題       608    個

APP通信接口技術,不得不掌握的法寶,學完之后你會受益良多

進入課程

xml輸出錯誤

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號