PHP 新手入門之PHP SimpleXML

1. 什麼是 PHP SimpleXML

SimpleXML 是 PHP 5 中的新特性。

SimpleXML 擴充功能提供了一種取得 XML 元素的名稱和文字的簡單方式。

與 DOM 或 Expat 解析器相比,SimpleXML 僅用幾行程式碼就可以從 XML 元素中讀取文字資料。

SimpleXML 可將 XML 文件(或 XML 字串)轉換為對象,例如:

· 元素轉換為 SimpleXMLElement 物件的單一屬性。當同一層級上存在多個元素時,它們會被置於陣列中。

· 屬性透過使用關聯數組進行訪問,其中的索引對應屬性名稱。

· 元素內部的文字被轉換為字串。如果一個元素擁有多個文字節點,則按照它們被找到的順序進行排列。

當執行類似下列的基礎任務時,SimpleXML 使用起來非常快速:

· 讀取/提取XML 檔案/字串的資料

· 編輯文字節點或屬性

然而,在處理進階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 檔案中每個元素的資料

還是以上的xml文件,接下來請看php文件,程式碼如下:

<?php
$xml=simplexml_load_file("head.xml");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>

輸出每個子節點的元素名稱和資料

php程式碼如下:

<?php
	$xml=simplexml_load_file("4_1.xml");
	echo $xml->getName() . "<br>";
	foreach($xml->children() as $child){
		echo $child->getName() . ": " . $child . "<br>";
	}
?>


繼續學習
||
<?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>