轉換XML 檔案為SimpleXMLElement 對象,然後輸出物件的鍵和元素:
<?php$xml=simplexml_load_file("note.xml");print_r($xml);?>simplexml_load_file() 函數轉換指定的XML 檔案為SimpleXMLElement 物件。
simplexml_load_file( file,classname,options,ns,is_prefix );
參數 | 描述 |
---|---|
file | 必需。規定XML 檔案路徑。 |
classname | 可選。規定新物件的class。 |
options | 可選。規定附加的Libxml 參數。透過指定選項為1 或0(TRUE 或FALSE,例如LIBXML_NOBLANKS(1))進行設定。 可能的值: LIBXML_COMPACT - 啟動節點的最佳化配置(可加速應用程式) LIBXML_DTDATTR - 設定預設的DTD 屬性 LIBXML_DTDLOAD - 裝載額外的子集 LIBXML_DTDVALID - 驗證DTD 有效性 LIBXML_NOBLANKS - 刪除空節點 LIBXML_NOCDATA - 將CDATA 設定為文字節點 LIBXML_NOEMPTYTAG - 擴充空標籤(例如<br/> 到<br></br>),僅在DOMDocument->save() 和DOMDocument->saveXML() 函數中有效 LIBXML_NOENT - 替代實體 LIBXML_NOERROR - 不顯示錯誤報告 LIBXML_NONET - 裝載文件時停止存取網絡 LIBXML_NOWARNING - 不顯示警告報告 LIBXML_NOXMLDECL - 當儲存一個文件時放棄XML 聲明 LIBXML_NSCLEAN - 刪除多餘的名稱空間聲明 LIBXML_PARSEHUGE - 設定XML_PARSE_HUGE 標誌,用來放寬解析器的任何強制限制。這將影響諸如文件的最大深度和文字節點大小限制等。 LIBXML_XINCLUDE - 使用XInclude 替代 LIBXML_ERR_ERROR - 取得可修正的錯誤 LIBXML_ERR_FATAL - 取得致命錯誤 LIBXML_ERR_NONE - 不取得錯誤 LIBXML_ERR_WARNING - 取得簡單警告 LIBXML_VERSION - 取得libxml 版本(例如20605 或20617) LIBXML_DOTTED_VERSION - 取得帶點的libxml 版本(例如2.6.5 或2.6.17) |
ns | 可選。規定命名空間前綴或URI。 |
is_prefix | 可選。規定一個布林值。如果ns是前綴則為TRUE,如果ns是URI 則為FALSE。預設是FALSE。 |
傳回值: | 如果成功則傳回SimpleXMLElement 對象,如果失敗則傳回FALSE。 |
---|---|
PHP 版本: | 5+ |
假設我們有如下的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 檔案中每個元素的資料:
<?php$xml=simplexml_load_file("note.xml");echo $xml->to . "<br>";echo $xml->from . "<br>";echo $xml->heading . "< br>";echo $xml->body;?>輸出XML 檔案中每個子節點的元素名稱和資料:
<?php$xml=simplexml_load_file("note.xml");echo $xml->getName() . "<br>";foreach($xml->children() as $child) { echo $child->getName () . ": " . $child . "<br>"; }?>