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

PHP simplexml_load_file() 載入 XML 檔案並輸出完整教學

     編輯:PHP 相關知識

simplexml_load_file() 是 PHP 解析 XML 檔案最簡便的函式,直接將 XML 文件轉換為 SimpleXMLElement 物件,支援屬性存取、XPath 查詢、迭代子節點等操作。

基本用法

<?php
$xml = simplexml_load_file('sample.xml');
if ($xml === false) {
    die('XML 載入失敗');
}
// 直接輸出格式化 XML
header('Content-Type: text/xml');
echo $xml->asXML();
?>

範例 XML(sample.xml)

<library>
  <book>
    <title>A</title>
    <author gender="female">B</author>
    <description>C</description>
  </book>
  <book>
    <title>C</title>
    <author gender="male">D</author>
    <description>E</description>
  </book>
  <book>
    <title>F</title>
    <author gender="male">G</author>
    <description>H</description>
  </book>
</library>

常見操作範例

遍歷所有書籍

foreach ($xml->book as $book) {
    echo "標題: {$book->title}\n";
    echo "作者: {$book->author} (性別: {$book->author['gender']})\n";
    echo "描述: {$book->description}\n---\n";
}

XPath 查詢

$femaleAuthors = $xml->xpath('//book/author[@gender="female"]');
foreach ($femaleAuthors as $author) {
    echo "女性作者: $author\n";
}

存取屬性

$firstBook = $xml->book[0];
echo $firstBook->author['gender']; // female

錯誤處理與最佳實務

  • 啟用 libxml_use_internal_errors(true) 捕捉解析錯誤,避免直接輸出警告。
  • 大型 XML 檔案(>10MB)建議改用 XMLReader 流式解析,避免記憶體耗盡。
  • 編碼問題:確保 XML 宣告 <?xml version="1.0" encoding="UTF-8"?> 與實際編碼一致。

SimpleXML 是中小型 XML 處理的首選,語法直觀、功能完備。

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