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

PHP 遍歷解析 XML 字符串:SimpleXMLElement 實戰示例

     編輯:PHP 相關知識

核心代碼

<?php
$content = <<

    
        HTTP
        80
        /index.html
        5000
        3000
        2
        3
    
    
        
        
    

XML;

$xml = new SimpleXMLElement($content);

// 1. 獲取單一元素值
$ping_protocol = $xml->global_setting->ping_protocol;
echo "ping_protocol: $ping_protocol\n";

// 2. 遍歷屬性
foreach ($xml->instances->instance as $instance) {
    echo "IP: {$instance['ip']}\n";
}

// 3. 關鍵提示
// - var_dump() 可能無法直觀輸出 SimpleXMLElement 結構
// - 推薦使用 echo (string)$element 或 ->asXML()
// - XML 宣告可省略,SimpleXMLElement 可直接解析字符串
// - 中文內容需確保編碼為 UTF-8
?>

關鍵 API 速查

操作代碼說明
獲取子元素$xml->child屬性訪問轉換為對象屬性
獲取屬性$xml['attr']數組語法訪問 XML 屬性
遍歷同名元素foreach($xml->items->item as $item)自動迭代
獲取文本內容(string)$xml->element強制轉字符串
XPath 查詢$xml->xpath('//item[@id=1]')複雜查詢
轉回 XML 字符串$xml->asXML()含宣告頭

常見坑點與建議

  1. 命名空間: XML 含命名空間時需 $xml->registerXPathNamespace('ns', 'uri') 後再 XPath
  2. 大小寫敏感: XML 標籤大小寫敏感,$xml->Test ≠ $xml->test
  3. 編碼: 輸入字符串必須為 UTF-8,否則解析報錯或亂碼
  4. 錯誤處理: libxml_use_internal_errors(true) 捕獲解析錯誤,避免 Warning 干擾輸出
  5. 大文件: 超大 XML 建議使用 XMLReader 流式解析,避免記憶體耗盡

相關專題

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