最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析php DOMElement 操作xml 文檔的實現代碼

 更新時間:2013年05月10日 17:16:57   作者:  
本篇文章是對在php中DOMElement 操作xml 文檔的實現進行了分析介紹。需要的朋友參考下

復制代碼 代碼如下:

/*<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!-- css的樣式定義,不加點。如:name{color:red;} -->
<?xml-stylesheet type="text/css" href="css.css"?>
<!-- 引入dtd文檔定義文件 (根元素:班級)<!DOCTYPE 班級 SYSTEM "class.dtd" /> -->
<!-- <!DOCTYPE 班級[
<!ELEMENT 班級 (學生+)>
<!ELEMENT 學生 (名字,年齡,介紹)>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 年齡 (#PCDATA)>
<!ELEMENT 介紹 (#PCDATA)>
] /> -->
<班級>
<學生 number="101">
<名字>孫悟空</名字>
<名字>孫行者</名字>
<年齡>123</年齡>
<介紹><![CDATA[&*$%特殊字串^&#$&]]></介紹>
</學生>

<學生 number="10&quot;2">
<名字>白骨精</名字>
<年齡>140</年齡>
<介紹>介紹內容</介紹>
</學生>
</班級>
*/
$xmldoc = new DOMDocument('1.0', 'UTF-8');
$xmldoc->load('datas.xml');

$itemsNodeList = $xmldoc->getElementsbyTagName('學生');
$itemElement = $itemsNodeList->item(0);//得到第一個完整的學生信息節(jié)點
$itemChildsNodeList = $itemElement->getElementsbyTagName('名字');//得到子節(jié)點“名字”,也許有多個名字
$itemChildNode = $itemChildsNodeList->item(0);//得到第一個名字節(jié)點
echo $itemChildNode->nodeValue;//輸出節(jié)點值

//封裝成函數
$nodeArr = array('名字', '年齡', '介紹');
function getNodeVal($xmldoc, $itemsName, $nodeArr){
    $items = $xmldoc->getElementsByTagName($itemsName);
     for($i=0; $i < $items->length; $i++){
        $item = $items->item($i);
        foreach($nodeArr as $node){
            $data[$i][] = $item->getElementsByTagName($node)->item(0)->nodeValue;
        }
    }
    return $data;
}

$data = getNodeVal($xmldoc, '學生', $nodeArr);
print_r($data);


復制代碼 代碼如下:

//添加節(jié)點
$xmldoc = new DOMDocument('1.0', 'UTF-8');
$xmldoc->load('datas.xml');
$items = $xmldoc->getElementsByTagName('班級')->item(0);//根節(jié)點
$student =  $xmldoc->createElement('學生');//創(chuàng)建一個新的學生節(jié)點
$stu_name = $xmldoc->createElement('名字','張三');
$stu_age = $xmldoc->createElement('年齡','15');
$stu_intro = $xmldoc->createElement('介紹','動手能力強且成績穩(wěn)定');
$items->appendChild($student);
$student->appendChild($stu_name);
$student->appendChild($stu_age);
$student->appendChild($stu_intro);
$bytes = $xmldoc->save('datas.xml');
echo ($bytes)? "寫入了: $bytes 字節(jié)" : '保存失敗';

//刪除節(jié)點
$xmldoc = new DOMDocument('1.0', 'UTF-8');
$xmldoc->load('datas.xml');
$student = $xmldoc->getElementsByTagName('學生')->item(2);//直接找到要刪除的節(jié)點
$student->parentNode->removeChild($student);//父節(jié)點的刪除方法
$xmldoc->save('datas.xml');

//修改節(jié)點值
$student = $xmldoc->getElementsByTagName('學生')->item(2);
$student->getElementsByTagName('年齡')->item(0)->nodeValue += 10;
$student->setAttribute('id', '110');
$xmldoc->save('datas.xml');

//應用 Xpath 查找節(jié)點

$xml = new DOMDocument('1.0', 'UTF-8');
$xml->load('dat.xml');
$xpath = new DOMXPath($xml);
$nodeList = $xpath->query('/aaa/bbb/ddd/fff');
echo $nodeList->item(0)->nodeValue;

//SimpleXML 類操作 xml
/*
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book house="清華出版">
<code>1001</code>
<price>200元</price>
<author>大明</author>
<title>天龍八部</title>
</book>
<book house="北大出版">
<code>1002</code>
<price>321元</price>
<author>張三</author>
<title>笑傲江湖</title>
</book>
<book house="人 民出版">
<code>1004</code>
<price>182元</price>
<author>李四</author>
<title>讀者</title>
</book>
</books>
*/
$xml = simplexml_load_file('books.xml');
$books = $xml->book;
echo $books[1]->title . $books[1]['house'];//直接指向第二本書
foreach($xml as $item){
    echo $item->title,' ',$item['house'],'<br/>';
}

相關文章

  • PHP保存帶BOM文件的方法

    PHP保存帶BOM文件的方法

    這篇文章主要介紹了PHP保存帶BOM文件的方法,本文相當簡短,因為方法也很簡單,不需要過多描述,需要的朋友可以參考下
    2015-02-02
  • 記錄mysql性能查詢過程的使用方法

    記錄mysql性能查詢過程的使用方法

    本篇文章介紹了,記錄mysql性能查詢過程的使用方法。需要的朋友參考下
    2013-05-05
  • phpstudy本地環(huán)境搭建超詳細圖文教程

    phpstudy本地環(huán)境搭建超詳細圖文教程

    這篇文章主要給大家介紹了關于phpstudy本地環(huán)境搭建超詳細圖文教程的相關資料,phpStudy是集安全、高效、功能于一體且完全免費的一鍵服務器環(huán)境搭建軟件,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • PHPCMS2008廣告模板SQL注入漏洞修復

    PHPCMS2008廣告模板SQL注入漏洞修復

    PHPCMS2008由于廣告模塊取referer不嚴,導致一處sql注入漏洞.這篇文章主要介紹了PHPCMS2008廣告模板SQL注入漏洞的相關資料,需要的朋友可以參考下
    2016-10-10
  • PHP+swoole實現簡單多人在線聊天群發(fā)

    PHP+swoole實現簡單多人在線聊天群發(fā)

    這篇文章主要介紹了PHP+swoole實現簡單多人在線聊天群發(fā) 的相關資料,需要的朋友可以參考下
    2016-01-01
  • Laravel中unique和exists驗證規(guī)則的優(yōu)化詳解

    Laravel中unique和exists驗證規(guī)則的優(yōu)化詳解

    這篇文章主要給大家介紹了關于Laravel中unique和exists驗證規(guī)則的優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-01-01
  • 利用switch語句進行多選一判斷的實例代碼

    利用switch語句進行多選一判斷的實例代碼

    下面小編就為大家?guī)硪黄胹witch語句進行多選一判斷的實例代碼。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • main.php

    main.php

    main.php...
    2006-12-12
  • Laravel5.1 框架響應基本用法實例分析

    Laravel5.1 框架響應基本用法實例分析

    這篇文章主要介紹了Laravel5.1 框架響應基本用法,結合實例形式分析了laravel5.1框架基本響應、自定義響應頭、返回值、重定向等相關使用技巧,需要的朋友可以參考下
    2020-01-01
  • PHP使用ActiveMQ實例

    PHP使用ActiveMQ實例

    本篇文章是一篇關于PHP使用ActiveMQ的實例,我們分享了實例代碼,并做了相關要點的解釋,需要的朋友參考下吧。
    2018-02-02

最新評論

徐水县| 衡南县| 万宁市| 沁源县| 泰兴市| 紫云| 老河口市| 金溪县| 西和县| 翼城县| 绥江县| 巴彦淖尔市| 应用必备| 上饶县| 闵行区| 太谷县| 石棉县| 义乌市| 崇州市| 葵青区| 平陆县| 隆尧县| 巍山| 桓仁| 大埔区| 资中县| 会同县| 遂昌县| 巍山| 宣汉县| 海城市| 福清市| 田阳县| 辽阳县| 资兴市| 宁陕县| 永泰县| 资溪县| 邓州市| 广德县| 固镇县|