PHP 新手入門(mén)之PHP?SimpleXML
1.?什麼是 PHP SimpleXML?
SimpleXML 是 PHP 5 中的新特性。
SimpleXML 擴(kuò)充功能提供了一種取得 XML 元素的名稱(chēng)和文字的簡(jiǎn)單方式。
與 DOM 或 Expat 解析器相比,SimpleXML 僅用幾行程式碼就可以從 XML 元素中讀取文字資料。
SimpleXML 可將 XML 文件(或 XML 字串)轉(zhuǎn)換為對(duì)象,例如:
·?元素轉(zhuǎn)換為 SimpleXMLElement 物件的單一屬性。當(dāng)同一層級(jí)上存在多個(gè)元素時(shí),它們會(huì)被置於陣列中。
·?屬性透過(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 檔案/字串的資料
·?編輯文字節(jié)點(diǎn)或?qū)傩?/p>
然而,在處理進(jìn)階XML 時(shí),例如命名空間,最好使用Expat 解析器或XML DOM。
下面我們要看一個(gè)實(shí)例:
建立一個(gè)xml檔?head.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ě)一個(gè)php 的文件,程式碼如下
<?php $xml=simplexml_load_file("head.xml"); print_r($xml); ?>
如何輸出XML 檔案中每個(gè)元素的資料
還是以上的xml文件,接下來(lái)請(qǐng)看php文件,程式碼如下:
<?php $xml=simplexml_load_file("head.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>
輸出每個(gè)子節(jié)點(diǎn)的元素名稱(chēng)和資料
php程式碼如下:
<?php $xml=simplexml_load_file("4_1.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child){ echo $child->getName() . ": " . $child . "<br>"; } ?>