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

PHP 5 SimpleXML 解析 XML 完整指南:從載入到節點存取

     編輯:PHP 綜合知識

SimpleXML 簡介

PHP 5 內建 SimpleXML 擴充套件(基於 libxml2),提供直觀的物件導向介面操作 XML。無需複雜的 DOM 操作,即可像存取物件屬性一樣讀取 XML 節點。

範例 XML 文件(messages.xml)

<?xml version="1.0" ?>
<SystemMessage>
  <MessageTitle>System Down for Maintenance</MessageTitle>
  <MessageBody>Going down for maintenance soon!</MessageBody>
  <MessageAuthor>
    <MessageAuthorName>Joe SystemGod</MessageAuthorName>
    <MessageAuthorEmail>systemgod@someserver.com</MessageAuthorEmail>
  </MessageAuthor>
  <MessageDate>March 4, 2004</MessageDate>
  <MessageNumber>10</MessageNumber>
</SystemMessage>

核心操作步驟

1. 載入 XML 文件

<?php
// 本地檔案
$xml = simplexml_load_file("messages.xml");

// 遠端 URL
$xml = simplexml_load_file("https://www.example.com/messages.xml");
?>

2. 檢視結構(除錯必備)

<?php
var_dump($xml);    // 顯示型別與長度
print_r($xml);     // 可讀性更佳,列出所有節點名稱與值
?>

3. 存取節點資料

<?php
echo $xml->MessageTitle;      // 輸出標題
echo $xml->MessageBody;       // 輸出內文
echo $xml->MessageAuthor->MessageAuthorName; // 存取巢狀節點
echo $xml->MessageDate;
echo $xml->MessageNumber;
?>

進階技巧

  • 屬性存取: $xml->MessageAuthor['id'] 取得屬性值
  • 迴圈處理多節點: foreach($xml->channel->item as $item)
  • XPath 查詢: $xml->xpath('//item[title="關鍵字"]') 精準定位
  • 命名空間處理: $xml->registerXPathNamespace('ns', 'uri')

環境檢查

執行 phpinfo() 確認 SimpleXML、DOM、libxml 模組皆已啟用(PHP 5 預設開啟)。

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