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

PHP 搭配 XML 開發:XPath 定位節點的實戰指南

     編輯:PHP 綜合知識

在 PHP 處理 XML 資料時,XPath 是快速定位特定元素或節點的利器。本文透過完整範例,示範如何建立 DOMXPath 物件並使用 query() 方法精準抓取所需資料,適合初學者快速上手。

核心概念:DOMXPath 物件的建立與查詢

載入 XML 並建立 DOMDocument 後,即可實例化 DOMXPath:

$xpath = new DOMXPath($xmldoc);

接著呼叫 query() 並傳入 XPath 路徑表達式,即可取得 DOMNodeList 物件:

$node_list = $xpath->query("xpath路徑表達式");

完整實作範例

資料來源:words.xml

<?xml version="1.0" encoding="utf-8"?>
<words>
  <word>
    <en>boy</en>
    <ch>男孩</ch>
  </word>
  <word>
    <en>girl</en>
    <ch>女孩</ch>
  </word>
  <word>
    <en>teacher</en>
    <ch>老師</ch>
  </word>
  <word>
    <en>beauty</en>
    <ch>美女</ch>
  </word>
</words>

查詢腳本:index.php

<?php
$xmldoc = new DOMDocument();
$xmldoc->load("words.xml");

$xpath = new DOMXPath($xmldoc);
$node_list = $xpath->query("/words/word/ch"); // 取得所有中文釋義

echo $node_list->item(0)->nodeValue; // 輸出:男孩
?>

進階提示

  • XPath 支援豐富的軸與條件,如 //word[en='teacher']/ch 可直接定位特定單字的中文釋義。
  • 搭配 DOMNodeList 的 length 屬性與 item() 方法,可輕鬆遍歷所有符合條件的節點。
  • 若 XML 含有命名空間,記得先用 registerNamespace() 註冊前綴再查詢。

掌握 XPath,能大幅簡化 XML 解析邏輯,提升 PHP 處理結構化資料的效率與可讀性。

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