婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP使用DOM對XML解析處理操作示例

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

熱門標簽:余姚電話機器人 電銷機器人問門薩維品牌my 百度地圖標注偏差 咸寧銷售電銷機器人系統 開發地圖標注類網站 廣東廣州在怎么申請400電話 400電話蘭州申請請 外呼系統能給企業帶來哪些好處 百度地圖怎樣標注圖標

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

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

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

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文件(對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文檔案例

?php
ini_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
ini_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");

PS:這里再為大家提供幾款關于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson

在線格式化XML/在線壓縮XML
http://tools.jb51.net/code/xmlformat

XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP針對XML文件操作技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

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

您可能感興趣的文章:
  • php XPath對XML文件查找及修改實現代碼
  • PHP使用xpath解析XML的方法詳解
  • php+xml編程之xpath的應用實例
  • php用xpath解析html的代碼實例講解
  • PHP registerXPathNamespace()函數講解
  • PHP xpath()函數講解
  • PHP創建XML接口示例
  • PHP XML操作的各種方法解析(比較詳細)
  • PHP處理數組和XML之間的互相轉換
  • PHP中的生成XML文件的4種方法分享
  • PHP操作XML中XPath的應用示例

標簽:臨沂 巴彥淖爾 鷹潭 重慶 銅陵 十堰 麗江 衡陽

巨人網絡通訊聲明:本文標題《PHP使用DOM對XML解析處理操作示例》,本文關鍵詞  PHP,使用,DOM,對,XML,解析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP使用DOM對XML解析處理操作示例》相關的同類信息!
  • 本頁收集關于PHP使用DOM對XML解析處理操作示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲精品一区在线观看| 7777精品伊人久久久大香线蕉 | 中文字幕一区视频| 国产麻豆视频精品| 亚洲精品国产a久久久久久| 欧美成人一区二区三区片免费| 韩国在线一区二区| 中文字幕欧美日韩一区| 欧美一区二区三区啪啪| 色美美综合视频| 99国产精品久| 成年人国产精品| 国产高清亚洲一区| 成人一区在线观看| 欧美日本一道本在线视频| 91麻豆精品国产91久久久久久| 伊人一区二区三区| 天堂va蜜桃一区二区三区漫画版| 一本色道综合亚洲| 国产欧美精品一区二区三区四区| 蜜臀精品一区二区三区在线观看 | 精品亚洲成a人在线观看 | 成人网男人的天堂| 免费的成人av| 一区二区三区精品久久久| 久久伊人中文字幕| 极品少妇一区二区三区精品视频| 美女尤物国产一区| 蜜桃视频在线一区| 99re成人精品视频| 中国色在线观看另类| 五月天久久比比资源色| 美女视频黄a大片欧美| 欧美一区在线视频| 色综合天天综合网天天狠天天| 精品亚洲成av人在线观看| 亚洲免费在线看| 国产精品乱码一区二区三区软件| 欧美韩日一区二区三区四区| 婷婷综合久久一区二区三区| 国产亚洲欧洲997久久综合| 蜜桃精品视频在线| 亚洲va韩国va欧美va精品| 91同城在线观看| 亚洲专区一二三| 亚洲午夜一区二区| 中文字幕欧美激情| 亚洲成人高清在线| 亚洲第一成年网| 一区二区三区四区不卡在线| 日日摸夜夜添夜夜添精品视频 | 91福利区一区二区三区| 欧美精品一区二区三区久久久| 亚洲综合在线电影| av一区二区不卡| 欧美极品另类videosde| 日本在线不卡一区| 7799精品视频| 婷婷综合另类小说色区| 91香蕉视频污| 亚洲影院在线观看| 日本韩国欧美国产| 亚洲欧美日韩国产另类专区 | 国产99久久久国产精品潘金| 日韩欧美一级特黄在线播放| 97精品电影院| 毛片av一区二区三区| 18成人在线观看| 欧美岛国在线观看| 欧美特级限制片免费在线观看| 亚洲欧美欧美一区二区三区| 国产精品一区二区x88av| 日韩欧美自拍偷拍| 国产成人精品综合在线观看| 亚洲在线观看免费视频| 在线观看视频一区| 亚洲香肠在线观看| 97se亚洲国产综合自在线不卡| 国产精品你懂的在线欣赏| 在线观看中文字幕不卡| 美洲天堂一区二卡三卡四卡视频| 亚洲色图第一区| 日韩午夜小视频| 欧美在线免费视屏| 91小视频在线免费看| 久久福利资源站| 一区二区三区高清不卡| 国产精品三级电影| 国产欧美一区二区三区网站| 欧美一区二区三区视频免费| 在线免费观看日本一区| 成人激情小说网站| 国产一区二区美女| 久久精品国产第一区二区三区| 亚洲成a人v欧美综合天堂下载 | 亚洲欧洲av另类| 欧美国产亚洲另类动漫| 日韩欧美电影一二三| 色综合久久久网| 日本高清不卡视频| 亚洲精品大片www| 久久精品日产第一区二区三区高清版 | 日韩欧美一级二级三级| 日本韩国欧美国产| 成人一级片网址| 国产成人av电影免费在线观看| 美美哒免费高清在线观看视频一区二区| 亚洲成人精品一区二区| 91丨porny丨蝌蚪视频| 国产999精品久久| 国产高清成人在线| 国产福利视频一区二区三区| 天天影视色香欲综合网老头| 国产在线播放一区二区三区| 一区二区视频免费在线观看| 麻豆freexxxx性91精品| 欧美一区二区福利视频| 欧美成人a在线| 国产一区二区三区av电影| 91啪亚洲精品| 欧美一区三区四区| 亚洲成人在线免费| 日韩视频在线永久播放| 亚洲一区二区视频在线| 日本高清不卡视频| 国产在线视频不卡二| 国产女主播视频一区二区| 91久久国产最好的精华液| 日韩一区精品视频| 奇米影视在线99精品| 久久成人羞羞网站| 国产精品羞羞答答xxdd| 婷婷综合五月天| 欧美激情在线观看视频免费| 中文欧美字幕免费| 国产欧美一区二区精品秋霞影院| 欧美一区二区网站| www.亚洲精品| 不卡欧美aaaaa| 欧美视频日韩视频| 国产精品伦一区二区三级视频| 国产精品久线观看视频| 亚洲精品国产一区二区三区四区在线| 亚洲国产精品激情在线观看| 在线不卡中文字幕播放| 不卡视频在线观看| 欧美日本精品一区二区三区| 精品人在线二区三区| 日韩欧美中文一区二区| 精品免费国产一区二区三区四区| 91色porny在线视频| 国产成人在线免费观看| 美女尤物国产一区| 精品亚洲欧美一区| 99精品视频一区二区| 9191成人精品久久| 日韩一级片网站| 国产精品久久久久9999吃药| 亚洲黄色小视频| av成人免费在线| 26uuu欧美| 中文字幕欧美日韩一区| 国产精品国产三级国产专播品爱网 | 亚洲男人都懂的| 国产精品国产精品国产专区不片| 久久草av在线| 精品视频在线免费观看| 国产精品久久二区二区| 99riav久久精品riav| 欧美三级日韩三级| 久久先锋资源网| 亚洲成在人线在线播放| 91蜜桃婷婷狠狠久久综合9色| 国产一区不卡视频| 高清久久久久久| 91精品国产欧美日韩| 一区二区三区.www| 成人深夜视频在线观看| 欧美福利电影网| 一区二区三区蜜桃| av动漫一区二区| 国产色综合久久| 久久国产精品区| 91精品免费观看| 午夜精品免费在线观看| 欧美亚洲国产一区二区三区va| 国产精品久久久久精k8| 国产91综合一区在线观看| 日韩精品一区二区三区在线| 亚洲成人动漫在线免费观看| 色狠狠色噜噜噜综合网| 国产精品久久久久影院| 国产高清一区日本| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 日本vs亚洲vs韩国一区三区| caoporn国产精品| 日韩三级电影网址| 亚洲一区二区在线免费观看视频| 国产精品91一区二区| 欧美日本在线一区|