示範如何使用 PHP 的 DOMDocument 載入 XML、定位特定節點、修改其文字內容,並將變更寫回檔案。以更新學生年齡為例,流程清晰易懂。
<?php
// 1. 建立 DOMDocument 物件
$xmldoc = new DOMDocument();
// 2. 載入 XML 檔案(DOM 樹載入記憶體)
$xmldoc->load("class.xml");
// 3. 更新第一位學生的年齡
// 3.1 取得所有 <student> 節點
$students = $xmldoc->getElementsByTagName("student");
$stu1 = $students->item(0); // 第一位學生
// 3.2 定位該學生的 <age> 節點
$stu1_age = $stu1->getElementsByTagName("age")->item(0);
// 3.3 修改節點文字內容
$stu1_age->nodeValue = 30;
// 4. 將變更儲存回 XML 檔案
$xmldoc->save("class.xml");
echo "更新成功";
?>
load() 將 XML 解析為可操作的 DOM 樹結構。getElementsByTagName() 逐層深入,從根節點 → 學生節點 → 年齡節點。nodeValue 屬性即可更新文字內容。save() 將記憶體中修改後的 DOM 樹序列化回檔案。DOMXPath 精準定位:$xpath->query("//student[@id='s001']/age")。setAttribute('屬性名', '新值')。XMLReader/XMLWriter 串流處理,避免記憶體耗盡。掌握「載入 → 定位 → 修改 → 儲存」四步驟,即可輕鬆完成 XML 內容的動態更新。