首頁 >後端開發 >php教程 >關於PHP Simple XML的相關知識

關於PHP Simple XML的相關知識

jacklove
jacklove原創
2018-05-07 14:48:321501瀏覽

PHP Simple XML處理最普通的 XML 任務,其餘的任務則交由其它擴展處理,本篇對其進行大致的講解。

什麼是 PHP SimpleXML

SimpleXML 是 PHP 5 中的新特性。

SimpleXML 擴充功能提供了一種取得 XML 元素的名稱和文字的簡單方式。

與 DOM 或 Expat 解析器相比,SimpleXML 僅用幾行程式碼就可以從 XML 元素中讀取文字資料。

SimpleXML 可把XML 文件(或XML 字串)轉換成物件,例如:

元素被轉換為SimpleXMLElement 物件的單一屬性。當同一層級上存在多個元素時,它們會被置於陣列中。

屬性透過使用關聯數組進行訪問,其中的索引對應屬性名稱。

元素內部的文字被轉換為字串。如果一個元素擁有多個文字節點,則按照它們被找到的順序進行排列。

當執行類似下列的基礎任務時,SimpleXML 使用起來非常快速:

讀取/提取XML 檔案/字串的資料

編輯文字節點或屬性

然而,在處理進階XML 時,例如命名空間,最好使用Expat 解析器或XML DOM。

安裝

從 PHP 5 開始,SimpleXML 函數是 PHP 核心的組成部分。無需安裝就可以使用這些函數。

PHP SimpleXML 實例

假設我們有以下的XML 文件,"note.xml":

491dd2b264d240fb88a27c47a8e35a778197c7d9a62aa70b2f07974ee724bef205034471df6398a62d5708f78b78e0acTove2d00897fd4b69f53670a45a271ef43e0    66fd2ada9ebb04d4250c850dc1e3737eJani73e20527c4b39a5569bf640e17eb894e    6568632082b0fe812193cfc2f7a972bbReminder8d55798a575f05ef42fd91f89ae99e34 6c04bd5ca3fcae76e30b72ad730ca86dDon't forget me this weekend!36cc49f0c466276486e50c850b7e49569cdbc43ffb8d51970a9118e67b3fe241

現在我們想要輸出上面的XML 檔案的不同資訊:

實例1

輸出$xml 變數(是SimpleXMLElement 物件)的鍵與元素:

<?php$xml=simplexml_load_file("note.xml");print_r($xml);?>

執行實例»

以上程式碼將輸出:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don&#39;t forget me this weekend! )

實例2

輸出XML 檔案中每個元素的資料:

<?php$xml=simplexml_load_file("note.xml");echo $xml->to . "<br>";echo $xml->from . "<br>";echo $xml->heading . "<br>";echo $xml->body;?>

執行實例»

#以上程式碼將輸出:

ToveJaniReminderDon't forget me this weekend!

實例3

輸出每個子節點的元素名稱與資料:

<?php$xml=simplexml_load_file("note.xml");echo $xml->getName() . "<br>"; 
foreach($xml->children() as $child){
    echo $child->getName() . ": " . $child . "<br>";}?>

執行實例»

以上程式碼將輸出:

note
to: Tovefrom: Janiheading: Reminderbody: Don't forget me this weekend!

本篇對PHP Simple XML處理最普通的XML 任務的講解,更多的學習資料清關注php中文網即可觀賞。 。

相關推薦:

關於PHP XML DOM的相關知識點

#關於PHP XML Expat 解析器的基礎

關於PHP 資料庫ODBC的相關內容

#

以上是關於PHP Simple XML的相關知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn