php操作xml的各種方法解析
PHP提供了一整套的讀取 XML文件的方法,很容易的就可以編寫基於 XML的腳本程序。本章將要介紹 PHP與 XML的操作方法,並對幾個常用的 XML類庫做一些簡要介紹。下面是小編整理的php操作xml的各種方法解析,就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!
XML是一種流行的半結構化文件格式,以一種類似數據庫的格式存儲數據。在實際應用中,一些簡單的、安全性較低的數據往往使用 XML文件的格式進行存儲。這樣做的好處一方面可以通過減少與數據庫的交互性操作提高讀取效率,另一方面可以有效利用 XML的優越性降低程序的編寫難度。
PHP提供了一整套的'讀取 XML文件的方法,很容易的就可以編寫基於 XML的腳本程序。本章將要介紹 PHP與 XML的操作方法,並對幾個常用的 XML類庫做一些簡要介紹。
1 XML簡介
XML是“可擴展性標識語言(eXtensible Markup Language)”的縮寫,是一種類似於 HTML的標記性語言。但是與 HTML不同,XML主要用於描述數據和存放數據,而 HTML主要用於顯示數據。
XML是一種“元標記”語言,開發者可以根據自己的需要創建標記的名稱。例如,下面的 XML代碼可以用來描述一條留言。
複製代碼 代碼如下:
<thread>
<title>Welcome</title>
<author>Simon</author>
<content>Welcome to XML guestbook!!</content>
</thread>
其中,<thread>與</thread>標籤標記了這是一段留言。在留言中有標題、作者、內容,完整的表述了一條留言信息。
在一個 XML文件的頂部,通常使用<?xml version=”1.0″?>來標識 XML數據的開始和 XML數據使用標準的版本信息。在瀏覽器中訪問 XML文件可以看到層次分明的 XML數據信息,如圖 1所示。
XML的發展非常迅速,近些年來很多軟件開發商都開始採用 XML的開發標準進行應用程序的開發。並且,很多新興技術都架構在 XML數據之上。這意味着 XML將與 HTML一樣成為 Web技術不可或缺的一部分。
2 簡單的 XML操作
在實際應用中,PHP與 XML的交互操作應用非常廣泛。SimpleXML組件是 PHP5新增加的一個簡
單的 XML操作組件,與傳統的 XML組件相比,SimpleXML組件的使用非常簡單。本節將對使用
SimpleXML組件操作 XML的方法做一下詳細介紹。
2.1 創建一個 SimpleXML對象
SimpleXML 對象是用來臨時存儲 XML數據的臨時變量,對 XML進行的操作都是通過操作 SimpleXML對象來完成的。SimpleXML組件提供了兩種創建 SimpleXML對象的方法。第一種方法是使用 simplexml_load_string函數讀取一個字符串型變量中的 XML數據來完成創建的,其語法格式如下所示。
simplexml_load_string(string data)
這裏的 data變量用於存儲 XML數據。以下代碼使用 simplexml_load_string函數創建了一個 SimpleXML對象
複製代碼 代碼如下:
<?php
$data = <<<XML //定義 XML數據
<?xml version='1.0′?>
<departs>
<depart>
<name>production support</name>
<employees>
<employee>
<serial_no>100001</serial_no>
<name>Simon</name>
<age>24</age>
<birthday>1982-11-06</birthday>
<salary>5000.00</salary>
<bonus>1000.00</bonus>
</employee>
<employee>
<serial_no>100002</serial_no>
<name>Elaine</name>
<age>24</age>
<birthday>1982-01-01</birthday>
<salary>6000.00</salary>
<bonus>2000.00</bonus>
</employee>
</employees>
</depart>
<depart>
<name>testing center</name>
<employees>
<employee>
<serial_no>110001</serial_no>
<name>Helen</name>
<age>23</age>
<birthday>1983-07-21</birthday>
<salary>5000.00</salary>
<bonus>1000.00</bonus>
</employee>
</employees>
</depart>
</departs>
XML;
$xml = simplexml_load_string($data); //創建 SimpleXML對象
print_r($xml); //輸出 XML
?>
在上面的例子中,$data變量存儲了一段 XML數據。 simplexml_load_string函數將變量$data轉化成 SimpleXML對象。通過 print_r函數的輸出可以看出該對象的結構,運行結果如下所示。
複製代碼 代碼如下:
SimpleXMLElement Object
(
[depart] => Array
(
[0] => SimpleXMLElement Object
(
[name] => production support
[employees] => SimpleXMLElement Object
( [employee] => Array (
[0] => SimpleXMLElement Object
( [serial_no] => 100001
[name] => Simon
[age] => 24
[birthday] => 1982-11-06
[salary] => 5000.00
[bonus] => 1000.00
)
[1] => SimpleXMLElement Object
( [serial_no] => 100002
[name] => Elaine
[age] => 24
[birthday] => 1982-01-01
[salary] => 6000.00
[bonus] => 2000.00