PHP 新手入門之PHP?SimpleXML
1. 什么是 PHP SimpleXML?
SimpleXML 是 PHP 5 中的新特性。
SimpleXML 擴展提供了一種獲取 XML 元素的名稱和文本的簡單方式。
與 DOM 或 Expat 解析器相比,SimpleXML 僅僅用幾行代碼就可以從 XML 元素中讀取文本數(shù)據(jù)。
SimpleXML 可把 XML 文檔(或 XML 字符串)轉(zhuǎn)換為對象,比如:
· 元素被轉(zhuǎn)換為 SimpleXMLElement 對象的單一屬性。當同一級別上存在多個元素時,它們會被置于數(shù)組中。
· 屬性通過使用關(guān)聯(lián)數(shù)組進行訪問,其中的索引對應屬性名稱。
· 元素內(nèi)部的文本被轉(zhuǎn)換為字符串。如果一個元素擁有多個文本節(jié)點,則按照它們被找到的順序進行排列。
當執(zhí)行類似下列的基礎(chǔ)任務時,SimpleXML 使用起來非??旖荩?/p>
· 讀取/提取 XML 文件/字符串的數(shù)據(jù)
· 編輯文本節(jié)點或?qū)傩?/p>
然而,在處理高級 XML 時,比如命名空間,最好使用 Expat 解析器或 XML DOM。
下面我們看一個實例:
建立一個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>
然后我們寫一個php 的文件,代碼如下
<?php $xml=simplexml_load_file("head.xml"); print_r($xml); ?>
如何輸出XML 文件中每個元素的數(shù)據(jù)
還是以上的xml文件,接下來請看php文件,代碼如下:
<?php $xml=simplexml_load_file("head.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>
輸出每個子節(jié)點的元素名稱和數(shù)據(jù)
php代碼如下:
<?php $xml=simplexml_load_file("4_1.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child){ echo $child->getName() . ": " . $child . "<br>"; } ?>