SimpleXML 擴展提供了一種直觀且輕量的方式來解析 XML 文檔。只要您了解 XML 的結構,就能輕鬆獲取元素名稱與文本內容。SimpleXML 會將 XML 文檔轉換為 SimpleXMLElement 對象,您可以像操作普通物件一樣,透過屬性選擇器和陣列迭代器來存取資料。
優勢:相較於 DOM 或 Expat 解析器,SimpleXML 只需幾行代碼即可讀取元素中的文本數據,極大地簡化了開發流程。
SimpleXML 從 PHP 5 起內建於核心,無需額外安裝即可直接使用。確保您的 PHP 版本為 5.0 或以上。
| 函數 | 說明 |
|---|---|
__construct() | 建立新的 SimpleXMLElement 對象。 |
addAttribute() | 為 SimpleXML 元素新增屬性。 |
addChild() | 為 SimpleXML 元素新增子元素。 |
asXML() | 將 SimpleXML 對象格式化為 XML 1.0 字符串。 |
attributes() | 返回 XML 標籤的屬性及其值。 |
children() | 查找指定節點的子節點。 |
count() | 計算指定節點的子節點數量。 |
getDocNamespaces() | 返回文檔中聲明的命名空間。 |
getName() | 返回 SimpleXML 元素所引用的 XML 標籤名稱。 |
getNamespaces() | 返回文檔中使用的命名空間。 |
registerXPathNamespace() | 為下一個 XPath 查詢建立命名空間上下文。 |
saveXML() | asXML() 的別名。 |
simplexml_import_dom() | 從 DOM 節點返回 SimpleXMLElement 對象。 |
simplexml_load_file() | 將 XML 文件轉換為 SimpleXMLElement 對象。 |
simplexml_load_string() | 將 XML 字符串轉換為 SimpleXMLElement 對象。 |
xpath() | 對 XML 數據執行 XPath 查詢。 |
SimpleXML 還提供了一組迭代器方法,方便遍歷元素:
| 函數 | 說明 |
|---|---|
current() | 返回當前元素。 |
getChildren() | 返回當前元素的子元素。 |
hasChildren() | 檢查當前元素是否有子元素。 |
key() | 返回當前鍵。 |
next() | 移動到下一個元素。 |
rewind() | 倒回到第一個元素。 |
valid() | 檢查當前元素是否有效。 |
<?php
$xml = simplexml_load_string('<note><to>Tove</to><from>Jani</from></note>');
echo $xml->to . '<br>'; // 輸出: Tove
echo $xml->from; // 輸出: Jani
?>
更多進階用法請參考 PHP 官方文檔。