使用專有(自行定義)的資料格式,需要額外寫文件,且如果資料的次序改變,呈現出來的資料會是錯的。
1000;100;10 1000|100|10 1000,100,10
W3C 用 XML 定義了 XML。XML 是一種元語言:用來定義其他的 XML 語言。XML 定義了元素、屬性、尖角括號(大於、小於)要如何使用。利用元素和屬性,以結構化的方式組織資料。
XML 缺點:需要許多額外的符號。
讓伺服器使用 XML 傳送資料給 Client ,但是儘量不要用 POST 送出 XML 到伺服器上,因為需要額外的程式碼進行剖析,除非伺服器只接受 XML 一種格式,如:只接受 SOAP 請求。
<?xml version="1.0" encoding="utf-8"?> <totals> <boards-sold>1000</coards-sold> <boots-sold>100</boots-sold> <bindings-sold>10</bindings-sold> </totals>
<?php ...... header("Content-Type: text/xml"); echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; ?> <totals> <boards-sold><? echo $boardsSold; ?></boards-sold> <boots-sold><? echo $bootsSold; ?></boots-sold> <bindings-sold><? echo $bindingsSold; ?></bindings-sold> </totals>
其中「echo “<?xml version=\”1.0\“ encoding=\”utf-8\“?>”;」這行在 PHP 檔案(*.php)中一定要使用 echo 來輸出,因為 PHP 也是使用 <? 和 ?> 來宣告。
傳回一個 DOM document 物件。
透過 getElementsByTagName() 找出 DOM 內的元素,傳回一陣列,故需加上 [0] 取出個別值:
var xmlDoc = request.responseXML; var xmlBoards = xmlDoc.getElementsByTagName("boards-sold")[0]; var boardsTotal = xmlBoards.firstChild.nodeValue;