TShopping

 找回密碼
 註冊
搜索
查看: 258|回復: 0

[分享] PHP 如何讀取SimpleXML

[複製鏈接]
發表於 2019-5-13 23:26:13 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk  
SimpleXML 處理最普通的XML 任務,其餘的任務則交由其它擴展。
什麼是SimpleXML?
SimpleXML 是PHP 5 中的新特性。在了解XML 文檔layout 的情況下,它是一種取得元素屬性和文本的便利途徑。
與DOM 或Expat 解析器相比,SimpleXML 僅僅用幾行代碼就可以從元素中讀取文本數據。
SimpleXML 可把XML 文檔轉換為對象,比如:
  • 元素- 被轉換為SimpleXMLElement 對象的單一屬性。當同一級別上存在多個元素時,它們會被置於數組中。
  • 屬性- 通過使用關聯數組進行訪問,其中的下標對應屬性名稱。
  • 元素數據- 來自元素的文本數據被轉換為字符串。如果一個元素擁有多個文本節點,則按照它們被找到的順序進行排列。
當執行類似下列的基礎任務時,SimpleXML 使用起來非常快捷:
  • 讀取XML 文件
  • 從XML 字符串中提取數據
  • 編輯文本節點或屬性
不過,在處理高級XML 時,比如命名空間,最好使用Expat 解析器或XML DOM。

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

使用SimpleXML
下面是XML 文件:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <note>
  3. <to>George</to>
  4. <from>John</from>
  5. <heading>Reminder</heading>
  6. <body>Don't forget the meeting!</body>
  7. </note>
複製代碼

我們打算從上面的XML 文件輸出元素的名稱和數據。
這是需要做的事情:
  • 加載XML 文件
  • 取得第一個元素的名稱
  • 使用children() 函數創建在每個子節點上觸發的循環
  • 輸出每個子節點的元素名稱和數據
例子
  1. <?php
  2. $xml = simplexml_load_file("test.xml");

  3. echo $xml->getName() . "<br />";

  4. foreach($xml->children() as $child)
  5.   {
  6.   echo $child->getName() . ": " . $child . "<br />";
  7.   }
  8. ?>
複製代碼

以上代碼的輸出:
  1. note
  2. to: George
  3. from: John
  4. heading: Reminder
  5. body: Don't forget the meeting!
複製代碼
文章出處

 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2019-10-19 20:41 , Processed in 0.053387 second(s), 21 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表