PHP XML SimpleXML

2021-11-18 09:28 更新

PHP 可以基于 SimpleXML 生成和解析 xml 的方法,通過本節(jié)的實例,你將了解 PHP 是如何使用 SimpleXML 生成及解析 xml 格式數據的。


PHP SimpleXML 處理最普通的 XML 任務,其余的任務則交由其它擴展處理。


什么是 PHP SimpleXML?

SimpleXML 是 PHP 5 中的新特性。

SimpleXML 擴展提供了一種獲取 XML 元素的名稱和文本的簡單方式。

與 DOM 或 Expat 解析器相比,SimpleXML 僅僅用幾行代碼就可以從 XML 元素中讀取文本數據。

SimpleXML 可把 XML 文檔(或 XML 字符串)轉換為對象,比如:

  • 元素被轉換為 SimpleXMLElement 對象的單一屬性。當同一級別上存在多個元素時,它們會被置于數組中。
  • 屬性通過使用關聯(lián)數組進行訪問,其中的索引對應屬性名稱。
  • 元素內部的文本被轉換為字符串。如果一個元素擁有多個文本節(jié)點,則按照它們被找到的順序進行排列。

當執(zhí)行類似下列的基礎任務時,SimpleXML 使用起來非常快捷:

  • 讀取/提取 XML 文件/字符串的數據
  • 編輯文本節(jié)點或屬性

然而,在處理高級 XML 時,比如命名空間,最好使用 Expat 解析器或 XML DOM。


安裝

從 PHP 5 開始,SimpleXML 函數是 PHP 核心的組成部分。無需安裝就可以使用這些函數。


PHP SimpleXML 實例

假設我們有如下的 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 文件的不同信息:

實例 1

輸出 $xml 變量(是 SimpleXMLElement 對象)的鍵和元素:

<?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! )

實例 2

輸出 XML 文件中每個元素的數據:

<?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!

實例 3

輸出每個子節(jié)點的元素名稱和數據:

<?php
$xml=simplexml_load_file("note.xml");
echo $xml->getName() . "<br>";

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

運行實例 ?

以上代碼將輸出:

note
to: Tove
from: Jani
heading: Reminder
body: Don't forget me this weekend!


更多 PHP SimpleXML 的信息

如需了解更多關于 PHP SimpleXML 函數的信息,請訪問我們的 PHP SimpleXML 參考手冊。

本章內容結束,在下一章中,我們一起來看看 PHP 與 AJAX 之間的關系!


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號