1. 程式人生 > >php中xml資料介面如何生成及呼叫

php中xml資料介面如何生成及呼叫

什麼是xml?
可擴充套件標記語言標準通用標記語言的子集,是一種用於標記電子檔案使其具有結構性的標記語言。 在電子計算機中,標記指計算機所能理解的資訊符號,通過此種標記,計算機之間可以處理包含各種的資訊比如文章等。它可以用來標記資料、定義資料型別,是一種允許使用者對自己的標記語言進行定義的源語言。 它非常適合全球資訊網傳輸,提供統一的方法來描述和交換獨立於應用程式或供應商的結構化資料。是Internet環境中跨平臺的、依賴於內容的技術,也是當今處理分散式結構資訊的有效工具。早在1998年,W3C就釋出了XML1.0規範,使用它來簡化Internet的文件資訊傳輸。
首先,建立一個sheng_xml.php檔案,在php檔案中:
定義一個json的頭部,把得到的json資料轉換為普通陣列
程式碼:
header('content-type:application/json;charset=utf8');

$url="http://zphteach.com/zph/8wei/json/json.php";

$html=file_get_contents($url);

$arr=json_decode($html,true);
然後,定義並輸出xml資料檔案的檔案頭,通過foreach迴圈新增自定義雙標籤,最後輸出
程式碼如下:
echo '<?xml version="1.0" encoding="utf8" ?> ';

echo header('content-type:text/xml;');
echo "<result>";
foreach ($arr as $k1 => $v1) {
	echo "<result$k1>";
	foreach ($v1 as $k2 => $v2) {
		
		echo "<$k2>".str_replace("<","<",$v2)."</$k2>";
		//echo "<$k2>$v2</$k2>";
		
	}
	echo "</result$k1>";
}
echo "</result>";

注意:父標籤不能重複,只有一對!

這樣xml介面就生成了,那麼如何獲取介面中的資料
定義一個檔案getxml.php,在檔案中定義檔案路徑URL,通過函式simplexml_load_file()獲得遠端檔案的標籤格式,
通過函式轉換為json資料,並輸出
程式碼如下:
<?php 
	//header('content-type:text/xml;charset=utf-8');

	$url='http://www.seven.com/json_sheng/xml.xml';

	$xml=simplexml_load_file($url);

	$xml1=json_encode($xml);

	//echo $xml1;die;

	$xml2=json_decode($xml1,true);

	print_r($xml2);
這樣就得到資料了。