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