PHP 簡(jiǎn)單XML
PHP SimpleXML 處理最普通的 XML 任務(wù),其余的任務(wù)則交由其它擴(kuò)展處理。
什么是 PHP SimpleXML?
SimpleXML 是 PHP 5 中的新特性。
SimpleXML 擴(kuò)展提供了一種獲取 XML 元素的名稱(chēng)和文本的簡(jiǎn)單方式。
與 DOM 或 Expat 解析器相比,SimpleXML 僅僅用幾行代碼就可以從 XML 元素中讀取文本數(shù)據(jù)。
SimpleXML 可把 XML 文檔(或 XML 字符串)轉(zhuǎn)換為對(duì)象,比如:
· ? 元素被轉(zhuǎn)換為 SimpleXMLElement 對(duì)象的單一屬性。當(dāng)同一級(jí)別上存在多個(gè)元素時(shí),它們會(huì)被置于數(shù)組中。
· ? 屬性通過(guò)使用關(guān)聯(lián)數(shù)組進(jìn)行訪問(wèn),其中的索引對(duì)應(yīng)屬性名稱(chēng)。
· ? 元素內(nèi)部的文本被轉(zhuǎn)換為字符串。如果一個(gè)元素?fù)碛卸鄠€(gè)文本節(jié)點(diǎn),則按照它們被找到的順序進(jìn)行排列。
當(dāng)執(zhí)行類(lèi)似下列的基礎(chǔ)任務(wù)時(shí),SimpleXML 使用起來(lái)非??旖荩?/p>
· ? 讀取/提取 XML 文件/字符串的數(shù)據(jù)
· ? 編輯文本節(jié)點(diǎn)或?qū)傩?/p>
然而,在處理高級(jí) XML 時(shí),比如命名空間,最好使用 Expat 解析器或 XML DOM。
安裝
從 PHP 5 開(kāi)始,SimpleXML 函數(shù)是 PHP 核心的組成部分。無(wú)需安裝就可以使用這些函數(shù)。
PHP SimpleXML 實(shí)例
假設(shè)我們有如下的 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>
現(xiàn)在我們想要輸出上面的 XML 文件的不同信息:
輸出 $xml 變量(是 SimpleXMLElement 對(duì)象)的鍵和元素:
<?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! )
實(shí)例
輸出xml 文件中每個(gè)元素的數(shù)據(jù):
<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>
以上代碼將輸出:
Tove
Jani
Reminder
Don't forget me this weekend!
輸出每個(gè)子節(jié)點(diǎn)的元素和數(shù)據(jù)
<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>
以上代碼會(huì)輸出:
note
to: Tove
from: Jani
heading: Reminder
body: Don't forget me this weekend!
更多 PHP SimpleXML 的信息
如需了解更多關(guān)于 PHP SimpleXML 函數(shù)的信息,請(qǐng)?jiān)L問(wèn)我們的?PHP SimpleXML 參考手冊(cè)。