首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP SimpleXML 完全指南:輕鬆解析、遍歷與操作 XML 數據

     編輯:PHP 相關知識

SimpleXML 是 PHP 5 內置的 XML 處理擴展,以「簡單」著稱:僅需幾行代碼即可將 XML 文檔轉為對象樹,支持直觀的屬性訪問與節點遍歷,是處理基礎 XML 任務的首選工具。

核心特性

  • 元素映射:XML 元素 → SimpleXMLElement 對象;同級重複元素 → 數組。
  • 屬性訪問:通過關聯數組語法 $xml['attr'] 獲取屬性值。
  • 文本內容:直接轉為字符串,多文本節點按文檔順序拼接。

適用場景

  • 讀取本地/遠程 XML 文件
  • 從字符串解析 XML 數據
  • 修改文本節點或屬性值

⚠️ 局限性:處理命名空間、複雜 Schema 驗證、大文件流式解析時,建議改用 XMLReader (Pull) 或 DOM (Tree)。

快速上手示例

XML 文件 (note.xml)

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

PHP 解析代碼

<?php
$xml = simplexml_load_file("note.xml");

echo "根元素: " . $xml->getName() . "<br>";

foreach ($xml->children() as $child) {
    echo $child->getName() . ": " . $child . "<br>";
}

/* 輸出:
根元素: note
to: George
from: John
heading: Reminder
body: Don't forget the meeting!
*/

進階技巧

  • 屬性獲取:$xml->note['id'] 或 $xml->note->attributes()
  • XPath 查詢:$xml->xpath('//to') 返回匹配節點數組
  • 命名空間:$xml->registerXPathNamespace('ns', 'uri') 後配合 XPath 使用
  • 修改並保存:$xml->to = 'New Name'; $xml->asXML('new.xml');

無需安裝,開箱即用

SimpleXML 函數屬於 PHP 核心,無額外擴展依賴,確保 php.ini 未禁用 simplexml 擴展即可(默認啟用)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved