woff 發表於 2019-5-13 23:26:13

PHP 如何讀取SimpleXML

SimpleXML 處理最普通的XML 任務,其餘的任務則交由其它擴展。
什麼是SimpleXML?SimpleXML 是PHP 5 中的新特性。在了解XML 文檔layout 的情況下,它是一種取得元素屬性和文本的便利途徑。與DOM 或Expat 解析器相比,SimpleXML 僅僅用幾行代碼就可以從元素中讀取文本數據。SimpleXML 可把XML 文檔轉換為對象,比如:
[*]元素- 被轉換為SimpleXMLElement 對象的單一屬性。當同一級別上存在多個元素時,它們會被置於數組中。
[*]屬性- 通過使用關聯數組進行訪問,其中的下標對應屬性名稱。
[*]元素數據- 來自元素的文本數據被轉換為字符串。如果一個元素擁有多個文本節點,則按照它們被找到的順序進行排列。
當執行類似下列的基礎任務時,SimpleXML 使用起來非常快捷:
[*]讀取XML 文件
[*]從XML 字符串中提取數據
[*]編輯文本節點或屬性
不過,在處理高級XML 時,比如命名空間,最好使用Expat 解析器或XML DOM。
安裝從PHP 5.0 開始,SimpleXML 函數是PHP 核心的組成部分。無需安裝就可以使用這些函數。
使用SimpleXML下面是XML 文件:<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
我們打算從上面的XML 文件輸出元素的名稱和數據。這是需要做的事情:
[*]加載XML 文件
[*]取得第一個元素的名稱
[*]使用children() 函數創建在每個子節點上觸發的循環
[*]輸出每個子節點的元素名稱和數據
例子<?php
$xml = simplexml_load_file("test.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br />";
}
?>
以上代碼的輸出:note
to: George
from: John
heading: Reminder
body: Don't forget the meeting!文章出處
頁: [1]
查看完整版本: PHP 如何讀取SimpleXML