亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP使用DOM對XML解析處理操作示例

2024-05-05 00:10:05
字體:
來源:轉載
供稿:網友

本文實例講述了PHP使用DOM對XML解析處理操作。分享給大家供大家參考,具體如下:

DOM(Document Object Model):文檔對象模型。核心思想是:把 xml文件看作是一個對象模型,然后通過對象的方式來操作 xml 文件。

xml本身有許多節點:
    元素節點
    文本節點
    屬性節點
    注釋節點
    CDATA節點
    文檔節點

PHP,DOM,XML,解析處理

php對xml文檔進行增刪改查(CURD)操作,具體分析如下:

xml文檔:class.xml

<?xml version="1.0" encoding="utf-8"?><class>  <student info="美女">    <name>小喬</name>    <sex>女</sex>    <age>20</age>  </student>  <student>    <name>周瑜</name>    <sex>男</sex>    <age>25</age>  </student></class>

PHP,DOM,XML,解析處理

php文件(對xml文檔操作)

查詢操作案例:

<?php//1、創建一個DOMDocument對象。該對象就表示 xml文件$xmldoc = new DOMDocument();//2、加載xml文件(指定要解析哪個xml文件,此時dom樹節點就會加載到內存中)$xmldoc->load("class.xml");//3、目標:獲取第一個學生的名字//3.1 第一步,讀取所有的學生/*方法getElementsByTagName:根據所給的節點名字(這里是student)查找 相應的節點,返回 DOMNodeList類型的對象,相當于取出了所有的學生。可以用var_dump($students)查看,并根據返回值查找手冊,看其下面的屬性與方法。*/$students = $xmldoc->getElementsByTagName("student");echo "共有 ".$students->length."個學生<br />";//3.2 讀取第一個學生/*讀取到第一個學生。返回值為DOMElement對象。直接 echo $stu1->nodeValue;則把name,sex,age都輸出。*/$stu1 = $students->item(0);//3.3 取出第一個學生的名字$stu1_name = $stu1->getElementsByTagName("name");//3.4 讀取到名字echo $stu1_name->item(0)->nodeValue;?>

注意點:

(1)編碼問題; 
(2)這里只是基礎演示,比較麻煩,后面用到循環和函數來操作; 
(3)用var_dump(),查看變量的返回值是什么,再根據返回值到手冊中查找該返回值下的屬性與方法。 
(4)整個順序下來,getElementByTagName()并不需要一層一層的讀,事實上可以直接讀取到節點name的,而不需要先讀取student(當然,如果同一個student下,有多個name,就會出問題了,這里就需要學習新的知識點xpath)。

所以上面這代碼可以簡單改為:

<?php//1、創建一個DOMDocument對象。該對象就表示 xml文件$xmldoc = new DOMDocument();//2、加載xml文件(指定要解析哪個xml文件,此時dom樹節點就會加載到內存中)$xmldoc->load("class.xml");//3、目標:獲取第一個學生的名字$stu = $xmldoc->getElementsByTagName("name");//直接找到節點name$stu1 = $stu->item(0);// item(1)時,可以取到周瑜echo $stu1->nodeValue;?>

創建xml的各種節點

節點元素:createElement(標簽名稱) 
文本元素:createTextNode(文本內容) 
屬性節點:createAttribute(屬性名稱) 
CDATA節點:createCDATASection(文本內容)

父節點.appendChild(子節點)

dom創建xml文檔案例

<?phpini_set('display_errors',1);//利用dom方式創建一個xml文檔/*<dog>  <name>xiaohuang</name>  <color>yellow</color>  <age></age></dog>*/$dom = new DOMDocument('1.0','utf-8');//創建元素節點$dog = $dom -> createElement('dog');$name = $dom -> createElement('name');$color = $dom -> createElement('color');$age = $dom -> createElement('age');//創建文本節點$name_txt = $dom -> createTextNode('xiaohuang');$color_txt = $dom -> createTextNode('yellow');$age_txt = $dom -> createTextNode('2');//追加//元素節點追加文本節點$name -> appendChild($name_txt);$color -> appendChild($color_txt);$age -> appendChild($age_txt);//元素節點追加元素節點$dog -> appendChild($name);$dog -> appendChild($color);$dog -> appendChild($age);//最外面的根節點需要給dom節點追加$dom -> appendChild($dog);//方法(1)輸出xml信息到瀏覽器header("content-type:text/xml;charset=utf-8");echo $dom -> saveXML();//信息直接輸出到瀏覽器中//方法(2)輸出xml信息到指定文件$dom -> formatOutput = true;$dom -> save("./file_xml.xml");

結果為

PHP,DOM,XML,解析處理

創建屬性節點

<?phpini_set('display_errors',1);//利用dom方式創建一個xml文檔/*<dog>  <name weight="50" height="90">xiaohuang</name>  <color>yellow</color>  <age></age></dog>*/$dom = new DOMDocument('1.0','utf-8');//創建元素節點$dog = $dom -> createElement('dog');$name = $dom -> createElement('name');$color = $dom -> createElement('color');$age = $dom -> createElement('age');//創建文本節點$name_txt = $dom -> createTextNode('xiaohuang');$color_txt = $dom -> createTextNode('yellow');$age_txt = $dom -> createTextNode('2');//追加//元素節點追加文本節點$name -> appendChild($name_txt);$color -> appendChild($color_txt);$age -> appendChild($age_txt);//元素節點追加元素節點$dog -> appendChild($name);$dog -> appendChild($color);$dog -> appendChild($age);//創建屬性節點方法(1),給name節點創建weight屬性節點$weight_txt = $dom -> createTextNode('50');$weight = $dom -> createAttribute('weight');$weight -> appendChild($weight_txt);//屬性節點追加自己的文本節點$name -> appendChild($weight);//屬性節點被追加到對應的元素節點中//創建屬性節點方法(2),給name節點創建height屬性節點$name -> setAttribute('height',90);//最外面的根節點需要給dom節點追加$dom -> appendChild($dog);//方法(1)輸出xml信息到瀏覽器header("content-type:text/xml;charset=utf-8");echo $dom -> saveXML();//信息直接輸出到瀏覽器中//方法(2)輸出xml信息到指定文件$dom -> formatOutput = true;$dom -> save("./file_xml.xml");

PHP,DOM,XML,解析處理

 

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一乱一性一交一视频| 青青青国产精品一区二区| 81精品国产乱码久久久久久| 精品高清美女精品国产区| 中文亚洲视频在线| 色无极影院亚洲| 日韩国产精品视频| 欧美亚洲午夜视频在线观看| 欧美日韩国产成人在线| 欧美性在线观看| 97视频人免费观看| 日韩国产高清视频在线| 久久国产精品99国产精| 日韩欧美高清视频| 日韩av综合中文字幕| 黑人狂躁日本妞一区二区三区| 第一福利永久视频精品| 2019日本中文字幕| 亚洲欧洲自拍偷拍| 亚洲精品99久久久久| 国产欧美亚洲精品| 一区二区国产精品视频| 亚洲午夜女主播在线直播| 亚洲国语精品自产拍在线观看| 国产亚洲欧美aaaa| 欧美日韩在线观看视频小说| 亚洲网站在线观看| 国产精品亚洲综合天堂夜夜| 亚洲偷熟乱区亚洲香蕉av| 91久久久久久久久久| 国产一区二区日韩| 96sao精品视频在线观看| 国产美女精彩久久| 成人乱人伦精品视频在线观看| 日韩电影中文字幕在线| 国产性猛交xxxx免费看久久| 成人精品网站在线观看| 国产精品视频导航| 青青精品视频播放| 精品久久在线播放| 亚洲精品电影在线| 青青久久av北条麻妃黑人| 亚洲欧美日韩另类| 欧美综合一区第一页| 欧美亚洲激情视频| www.欧美免费| 国产午夜精品理论片a级探花| 欧美中文字幕视频在线观看| 国产精品aaa| 日韩免费不卡av| 最近更新的2019中文字幕| 欧美国产日韩一区二区三区| 国产精品日韩在线一区| 日韩av影片在线观看| 97精品在线观看| 8050国产精品久久久久久| 亚洲视频在线观看网站| 美女啪啪无遮挡免费久久网站| 亚洲一区二区在线| 亚洲偷熟乱区亚洲香蕉av| 国产精品成人av在线| 日韩中文字幕免费| 青青草原成人在线视频| 欧美一区第一页| 中文字幕免费国产精品| 欧美xxxx做受欧美| 日韩亚洲欧美中文高清在线| 欧美国产一区二区三区| 91天堂在线视频| 成人日韩av在线| 亚洲a区在线视频| 欧美第一页在线| 亚洲女成人图区| 久久九九有精品国产23| 欧洲日本亚洲国产区| 97在线精品视频| 最新国产成人av网站网址麻豆| 亚洲视频自拍偷拍| 亚洲国产精品嫩草影院久久| 亚洲国产精品大全| 国模精品一区二区三区色天香| 久久久www成人免费精品| 国产精品日韩在线| 黄色精品一区二区| 成人福利视频网| 狠狠爱在线视频一区| 91亚洲精华国产精华| 国产成人精品电影久久久| 成人性生交xxxxx网站| 亚洲高清一二三区| 久久久久久国产三级电影| 国产69精品久久久| 2021国产精品视频| 欧美视频第一页| 国产精品一区二区3区| 久久999免费视频| 国产精品盗摄久久久| 日韩成人激情影院| 久久久精品中文字幕| 成人午夜高潮视频| 成人中心免费视频| 欧美成人在线免费视频| 国产伊人精品在线| 精品日本高清在线播放| 亚洲国产欧美在线成人app| 国产精品精品久久久| 日韩精品亚洲视频| 国产精品私拍pans大尺度在线| 亚洲精品日韩久久久| 亚洲影院在线看| 中文字幕免费精品一区| 亚洲在线第一页| 欧美激情一二区| 97超级碰碰人国产在线观看| 91久久久久久久一区二区| 国产精品网站入口| 国产欧美精品久久久| 成人黄色免费网站在线观看| 68精品久久久久久欧美| 国产精品一二三视频| 日韩视频免费大全中文字幕| 国产成人av网| 亚洲网站在线观看| 中文字幕在线观看亚洲| 一区二区三区视频免费在线观看| 国产免费一区二区三区香蕉精| 国产女人18毛片水18精品| 成人免费福利在线| 国产欧美最新羞羞视频在线观看| 欧美孕妇毛茸茸xxxx| 中文字幕亚洲欧美日韩2019| 久久久在线视频| 亚洲国产精品嫩草影院久久| 亚洲在线第一页| 亚洲国产精品视频在线观看| 久久精品成人一区二区三区| 日本一区二区在线播放| 91精品国产777在线观看| 日韩激情视频在线播放| 亚洲精品欧美一区二区三区| 久久精品视频在线| 欧美电影免费观看| 日韩成人在线视频| 欧美专区在线视频| 久久成人这里只有精品| 日韩精品小视频| 欧美激情精品久久久久| 亚洲精品中文字幕有码专区| 欧美xxxx综合视频| 精品久久久免费| 欧美一二三视频| 97免费中文视频在线观看| 久久夜色精品国产亚洲aⅴ| 国产精品激情av电影在线观看| 国产欧美日韩精品专区| 欧美激情欧美激情| 成人性生交xxxxx网站| 国产精品手机播放| 久久久国产精彩视频美女艺术照福利| 亚洲欧美日韩精品久久亚洲区| 成人国产精品色哟哟| 日韩亚洲欧美中文在线| 亚洲高清在线观看| 国产97免费视|