PHP SimpleXMLElement:XML檔案解析與讀寫
PHP保存XML文件
<code><span>$xml</span><span>=</span><span>new</span> SimpleXMLElement(<span>XML</span>数据); <span>$xml</span><span>-></span>asXML(文件名);</code>
PHP讀取XML文件
<code><span>XXX</span>=<span> simplexml_load_file(文件名);</span></code>
1.使用面向對象方式訪問XML
<code><span><?php</span><span><span>class</span><span>XmlTest</span> {</span><span>private</span><span>$filename</span> = <span>"a.xml"</span>; <span>private</span><span>$isreading</span>=<span>false</span>; <span>private</span><span>$rxml</span>; <span>//创建XML文件</span><span>public</span><span><span>function</span><span>writeTest</span><span>()</span> {</span><span>$_data</span> = <span><<<data <?xml version="1.0" encoding="UTF-8"?> <root> <data>A</data> <data>B</data> <data>C</data> <from> <name fristname='陈'>老四</name> <arg>30</arg> </from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </root> data;</span><span>$xml</span> = <span>new</span> SimpleXMLElement(<span>$_data</span>); <span>$xml</span>->asXML(<span>$this</span>->filename); } <span>//读取文件</span><span>private</span><span><span>function</span><span>readFile</span><span>()</span> {</span><span>if</span>(!<span>$this</span>->isreading) { <span>$this</span>->rxml= simplexml_load_file(<span>$this</span>->filename); <span>$this</span>->isreading=<span>true</span>; } } <span>//测试:遍历某一数组</span><span>public</span><span><span>function</span><span>readdata</span><span>()</span> {</span><span>$this</span>->readFile(); <span>foreach</span> (<span>$this</span>->rxml->data <span>as</span><span>$x</span>) { <span>echo</span><span>"["</span>.<span>$x</span>.<span>"]"</span>; } <span>echo</span><span>"<br>"</span>; } <span>//测试 用数组下标读取数组某一项</span><span>public</span><span><span>function</span><span>readdata1</span><span>()</span> {</span><span>$this</span>->readFile(); <span>echo</span><span>"读取第[1]个data数据:"</span>; <span>echo</span><span>$this</span>->rxml->data[<span>1</span>] .<span>"<br>"</span>; } <span>//测试:读取2级XML节点</span><span>public</span><span><span>function</span><span>readfrom</span><span>()</span> {</span><span>$this</span>->readFile(); <span>echo</span><span>"读取from节点:"</span>; <span>echo</span><span>$this</span>->rxml->from->name .<span>','</span>; <span>echo</span><span>$this</span>->rxml->from->arg.<span>"<br>"</span>; <span>//读取name节点的fristname属性</span><span>echo</span><span>$this</span>->rxml->from->name[<span>'fristname'</span>].<span>"<br>"</span>; } } <span>$tmp</span> = <span>new</span> XmlTest(); <span>$tmp</span>->writeTest(); <span>$tmp</span>->readdata(); <span>$tmp</span>->readdata1(); <span>$tmp</span>->readfrom(); <span>?></span></code>
瀏覽器列印:
<code>[<span>A</span>][<span>B</span>][<span>C</span>] 读取第[1]个data数据:B 读取from数据:老四,30 陈</code>
2.使用xpath存取XML., 用路徑取得節點,區別:取得的節點都以陣列傳回,因此用陣列下標存取
<code><span>public</span><span><span>function</span><span>readdata_xpath</span><span>()</span> {</span><span>$this</span>->readFile(); <span>$data</span>= <span>$this</span>->rxml->xpath(<span>'/root/data'</span>); <span>foreach</span> (<span>$data</span><span>as</span><span>$x</span>) { <span>echo</span><span>"["</span>.<span>$x</span>.<span>"]"</span>; } <span>echo</span><span>"<br>"</span>; } <span>public</span><span><span>function</span><span>readdata1_xpath</span><span>()</span> {</span><span>$this</span>->readFile(); <span>$data1</span> = <span>$this</span>->rxml->xpath(<span>'/root/data'</span>); <span>echo</span><span>"读取第[1]个data数据:"</span>; <span>echo</span><span>$data1</span>[<span>1</span>] .<span>"<br>"</span>; } <span>public</span><span><span>function</span><span>readfrom_xpath</span><span>()</span> {</span><span>$this</span>->readFile(); <span>$name</span>= <span>$this</span>->rxml->xpath(<span>'/root/from/name'</span>); <span>$arg</span>= <span>$this</span>->rxml->xpath(<span>'/root/from/arg'</span>); <span>echo</span><span>"读取from数据:"</span>; <span>echo</span><span>$name</span>[<span>0</span>] .<span>','</span>; <span>echo</span><span>$arg</span>[<span>0</span>].<span>"<br>"</span>; <span>//读取name节点的fristname属性</span><span>echo</span><span>$name</span>[<span>0</span>][<span>'fristname'</span>].<span>"<br>"</span>; }</code>
<code>$tmp->readdata_xpath(); $tmp->readdata1_xpath(); $tmp->readfrom_xpath(); <span>*****</span><span>*****</span><span>*****</span><span>***</span> 浏览器打印: [<span>A</span>][<span>B</span>][<span>C</span>] 读取第[1]个data数据:B 读取from数据:老四,30 陈</code>
以上就介紹了 PHP SimpleXMLElement:XML檔案解析和讀寫,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

在現今科技快速發展的時代,程式語言也如雨後春筍般湧現。其中一門備受矚目的語言就是Go語言,它以其簡潔、高效、並發安全等特性受到了許多開發者的喜愛。 Go語言以其強大的生態系統而著稱,其中有許多優秀的開源專案。本文將介紹五個精選的Go語言開源項目,帶領讀者一起探索Go語言開源專案的世界。 KubernetesKubernetes是一個開源的容器編排引擎,用於自

Laravel是一個流行的PHP框架,具有高度可擴展性和高效性,它提供了許多強大的工具和程式庫,讓開發者可以快速建立高品質的網路應用程式。其中,LaravelEcho和Pusher是兩個非常重要的工具,透過它們可以輕鬆實現WebSockets通信,本文將詳細介紹如何在Laravel應用程式中使用這兩個工具。什麼是WebSockets? WebSockets

《Go語言開發必備:5個熱門框架推薦》Go語言作為一門快速、高效的程式語言,受到越來越多開發者的青睞。為了提高開發效率,優化程式碼結構,許多開發者選擇使用框架來快速建立應用。在Go語言的世界中,有許多優秀的框架可供選擇。本文將介紹5個熱門的Go語言框架,並提供具體的程式碼範例,幫助讀者更好地理解和使用這些框架。 1.GinGin是一個輕量級的Web框架,擁有快速

PHP中echo關鍵字的作用和使用方法詳解PHP是一種廣泛使用的伺服器端腳本語言,它在網頁開發中被廣泛應用。而echo關鍵字是在PHP中用來輸出內容的一種方法。本文將詳細介紹echo關鍵字的作用與使用方法。作用:echo關鍵字的主要作用是將內容輸出到瀏覽器。在網頁開發中,我們需要將資料動態地呈現到前端頁面上,這時就可以使用echo關鍵字將資料輸出到頁面上。 e

目前最受歡迎的Go框架有:Gin:輕量級、高效能的Web框架,簡潔易用。 Echo:快速、高度可自訂的網路框架,提供高效能路由和中介軟體。 GorillaMux:快速、靈活的多工器,提供進階路由設定選項。 Fiber:效能最佳化的高效能Web框架,處理高並發請求。 Martini:物件導向設計的模組化網路框架,提供豐富的功能集。

第1部分:初始故障排除步驟檢查蘋果的系統狀態:在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統狀態頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網路連接:確保您擁有穩定的網路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數據之間切換或重置網路設定(「常規」>「重置」>「重置網路設定」>設定)。更新您的iOS版本:
