PHP 簡單XML
PHP?SimpleXML
PHP SimpleXML 處理最普通的 XML 任務(wù),其餘的任務(wù)則交由其它擴(kuò)充處理。
什麼是 PHP SimpleXML?
SimpleXML 是 PHP 5 中的新功能。
SimpleXML 擴(kuò)充功能提供了一種取得 XML 元素的名稱和文字的簡單方式。
與 DOM 或 Expat 解析器相比,SimpleXML 僅用幾行程式碼就可以從 XML 元素中讀取文字資料。
SimpleXML 可將 XML 文件(或 XML 字串)轉(zhuǎn)換為對(duì)象,例如:
·???????? 元素轉(zhuǎn)換為 SimpleXMLElement 物件的單一屬性。當(dāng)同一層級(jí)上存在多個(gè)元素時(shí),它們會(huì)被置於陣列中。
·???????? 屬性透過使用關(guān)聯(lián)數(shù)組進(jìn)行訪問,其中的索引對(duì)應(yīng)屬性名稱。
·???????? 元素內(nèi)部的文字轉(zhuǎn)換為字串。如果一個(gè)元素?fù)碛卸鄠€(gè)文字節(jié)點(diǎn),則按照它們被找到的順序進(jìn)行排列。
當(dāng)執(zhí)行類似下列的基礎(chǔ)任務(wù)時(shí),SimpleXML 使用起來非??焖伲?/p>
·???????? 讀取/擷取XML 檔案/字串的資料
·??????屬性
然而,在處理進(jìn)階XML 時(shí),例如命名空間,最好使用Expat 解析器或XML DOM。
安裝
從 PHP 5 開始,SimpleXML 函數(shù)是 PHP 核心的組成部分。無需安裝就可以使用這些函數(shù)。
PHP SimpleXML 實(shí)例
假設(shè)我們有如下的XML 文件,"note.xml":
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
現(xiàn)在我們想要輸出上面的XML檔案的不同資訊:
實(shí)例1
輸出$xml 變數(shù)(是SimpleXMLElement 物件)的鍵與元素:
<?php $xml=simplexml_load_file("note.xml"); print_r($xml); ?>
以上程式碼將輸出:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
#實(shí)例2
實(shí)例2
輸出XML 檔案中每個(gè)元素的資料:
<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>
以上程式碼將輸出:
Tove
Jani
Don't forget me this weekend!
?
實(shí)例3
輸出每個(gè)子節(jié)點(diǎn)的元素名稱與資料:
<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>
以上程式碼將輸出:
# note
to: Tove
from: Jani
body: Don't forget me this weekend!
?
#更多PHP SimpleXML 的資訊
如需了解更多關(guān)於PHP SimpleXML 函數(shù)的信息,請(qǐng)?jiān)煸L我們的?PHP SimpleXML 參考手冊(cè)。