PHP基于DOM創(chuàng)建xml文檔的方法示例
本文實(shí)例講述了PHP基于DOM創(chuàng)建xml文檔的方法。分享給大家供大家參考,具體如下:
DOM創(chuàng)建xml文檔
用dom創(chuàng)建如下文檔:
<booklist> <book id="1"> <title>天龍八部</title> <author>金庸</author> <content> <![CDATA[ 天龍八部是金庸寫(xiě)的一本武俠小說(shuō),非常好看! ]]> </content> </book> </booklist>
實(shí)現(xiàn)步驟:
1、創(chuàng)建DOM對(duì)象 ——》2、創(chuàng)建節(jié)點(diǎn)——》3、創(chuàng)建下級(jí)節(jié)點(diǎn)——》4、將下級(jí)節(jié)點(diǎn)加入到上級(jí)節(jié)點(diǎn)中——》5、創(chuàng)建屬性節(jié)點(diǎn)——》6、將屬性節(jié)點(diǎn)加入到擁有該屬性的節(jié)點(diǎn)中——》7、如果還有節(jié)點(diǎn)則重復(fù)2~6步驟——》8、將最高級(jí)節(jié)點(diǎn)(即根節(jié)點(diǎn))加入到DOM對(duì)象中——》9、打開(kāi)或存儲(chǔ)xml文檔。
在創(chuàng)建節(jié)點(diǎn)的過(guò)程中既可以從最下級(jí)節(jié)點(diǎn)開(kāi)始創(chuàng)建,也可以從根節(jié)點(diǎn)開(kāi)始。實(shí)現(xiàn)代碼如下:
<?php header('Content-Type: text/xml;'); $dom = new DOMDocument('1.0','utf-8');//建立DOM對(duì)象 $no1 = $dom->createElement('booklist');//創(chuàng)建普通節(jié)點(diǎn):booklist $dom->appendChild($no1);//把booklist節(jié)點(diǎn)加入到DOM文檔中 $no2 = $dom->createElement('book');//創(chuàng)建book節(jié)點(diǎn) $no1->appendChild($no2);//把book節(jié)點(diǎn)加入到booklist節(jié)點(diǎn)中 $no3 = $dom->createAttribute('id');//創(chuàng)建屬性節(jié)點(diǎn):id $no3->value = 1;//給屬性節(jié)點(diǎn)賦值 $no2->appendChild($no3);//把屬性節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 $no3 = $dom->createElement('title'); $no2->appendChild($no3); $no4 = $dom->createTextNode('天龍八部');//創(chuàng)建文本節(jié)點(diǎn):天龍八部 $no3->appendChild($no4);//把天龍八部節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 $no3 = $dom->createElement('author'); $no2->appendChild($no3); $no4 = $dom->createTextNode('金庸');//創(chuàng)建文本節(jié)點(diǎn):天龍八部 $no3->appendChild($no4);//把天龍八部節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 $no3 = $dom->createElement('content'); $no2->appendChild($no3); $no4 = $dom->createCDATASection('天龍八部是金庸寫(xiě)的一本武俠小說(shuō),非常好看!');//創(chuàng)建文CDATA節(jié)點(diǎn) $no3->appendChild($no4);//把天龍八部節(jié)點(diǎn)加入到book節(jié)點(diǎn)中 header('Content-type:text/html;charset=utf-8'); echo $dom->save('booklist.xml')?'存儲(chǔ)成功':'存儲(chǔ)失敗';//存儲(chǔ)為xml文檔 /*直接以xml文檔格式打開(kāi) header('Content-type:text/xml'); echo $dom->savexml(); */ ?>
PS:這里再為大家提供幾款關(guān)于xml操作的在線(xiàn)工具供大家參考使用:
在線(xiàn)XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線(xiàn)格式化XML/在線(xiàn)壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線(xiàn)壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線(xiàn)格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP針對(duì)XML文件操作技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php simplexmlElement操作xml的命名空間實(shí)現(xiàn)代碼
- PHP XML操作類(lèi)DOMDocument
- php中DOMDocument簡(jiǎn)單用法示例代碼(XML創(chuàng)建、添加、刪除、修改)
- PHP使用DOMDocument類(lèi)生成HTML實(shí)例(包含常見(jiàn)標(biāo)簽元素)
- PHP 中 DOMDocument保存xml時(shí)中文出現(xiàn)亂碼問(wèn)題的解決方案
- PHP基于DOMDocument解析和生成xml的方法分析
- PHP實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建XML文檔的方法
- PHP創(chuàng)建XML接口示例
- PHP創(chuàng)建XML的方法示例【基于DOMDocument類(lèi)及SimpleXMLElement類(lèi)】
相關(guān)文章
php相當(dāng)簡(jiǎn)單的分頁(yè)類(lèi)
代碼比較簡(jiǎn)單,學(xué)習(xí)php類(lèi)的朋友,可以看下2008-10-10php中常量DIRECTORY_SEPARATOR用法深入分析
這篇文章主要介紹了php中常量DIRECTORY_SEPARATOR用法深入分析,涉及針對(duì)Linux路徑分隔符不支持\的情況,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11PHP入門(mén)教程之自定義函數(shù)用法詳解(創(chuàng)建,調(diào)用,變量,參數(shù),返回值等)
這篇文章主要介紹了PHP入門(mén)教程之自定義函數(shù)用法,結(jié)合實(shí)例形式分析了php關(guān)于自定義函數(shù)的創(chuàng)建、返回值、參數(shù)、調(diào)用方法以及全局變量、魔法常量的使用等相關(guān)技巧,需要的朋友可以參考下2016-09-09如何使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)
本篇文章是對(duì)使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP精確到毫秒秒殺倒計(jì)時(shí)實(shí)例詳解
這篇文章主要介紹了PHP精確到毫秒秒殺倒計(jì)時(shí)實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03PHP INT類(lèi)型在內(nèi)存中占字節(jié)詳解
在本文里我們給大家分享了關(guān)于PHP輸出INT類(lèi)型在內(nèi)存中占多少個(gè)字節(jié)的相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。2019-07-07