關於PHP Simple XML的相關知識

來源:互聯網
上載者:User

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":

<?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>

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

執行個體 1

輸出 $xml 變數(是 SimpleXMLElement 對象)的鍵和元素:

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

運行執行個體 »

以上代碼將輸出:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don'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中文網即可觀看。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.