PHP SimpleXML 處理最普通的XML 任務,其餘的任務則交給其它擴充。
SimpleXML 是PHP 5 的新特性。
SimpleXML 擴充功能提供了一種獲取XML 元素的名稱和文字的簡單方式。
與DOM 或Expat 解析器相比,SimpleXML 僅用幾行程式碼就可以從XML 元素中讀取文字資料。
SimpleXML 可把XML 文件(或XML 字串)轉換為對象,例如:
元素被轉換為SimpleXMLElement 物件的單一屬性。當同一層級上存在多個元素時,它們會被置於陣列中。
屬性透過使用關聯數組進行訪問,其中的索引對應屬性名稱。
元素內部的文字被轉換為字串。如果一個元素擁有多個文字節點,則按照它們被找到的順序進行排列。
當執行類似下列的基礎任務時,SimpleXML 使用起來非常快速:
讀取/提取XML 檔案/字串的數據
編輯文字節點或屬性
然而,在處理進階XML 時,例如命名空間,最好使用Expat 解析器或XML DOM。
從PHP 5 開始,SimpleXML 函數是PHP 核心的組成部分。無需安裝就可以使用這些函數。
假設我們有如下的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! </身體> </ note >現在我們想要輸出上面的XML 檔案的不同資訊:
輸出$xml 變數(是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! )
輸出XML 檔案中每個元素的資料:
<?php $xml = simplexml_load_file ( " note.xml " ) ; echo $xml -> to . " <br> " ; echo $xml -> from . " <br> " ; echo $xml -> heading . " <br> " ; echo $xml -> body ; ?>以上程式碼將輸出:
ToveJaniReminderDon't forget me this weekend!
輸出每個子節點的元素名稱和資料:
<?php $xml = simplexml_load_file ( " note.xml " ) ; echo $xml -> getName ( ) . " <br> " ; foreach ( $xml -> children ( ) as $child ) { echo $child -> getName ( ) . " : " . $child . " <br> " ; } ?>以上程式碼將輸出:
noteto: Tovefrom: Janiheading: Reminderbody: Don't forget me this weekend!
如需了解更多關於PHP SimpleXML 函數的信息,請造訪我們的PHP SimpleXML 參考手冊。