• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    淺析PHP對XML文檔的基本操作

    2013-04-29 07:54:50張博
    無線互聯(lián)科技 2013年5期
    關(guān)鍵詞:操作

    張博

    摘 要:通過PHP的預(yù)定義類,PHP可以在任何時(shí)候操作XML文檔中的數(shù)據(jù),實(shí)現(xiàn)文檔內(nèi)容的顯示、添加、修改、刪除。

    關(guān)鍵詞:PHP;XML;類定義;操作

    1 創(chuàng)建XML文檔

    如有以下class.xml文檔。

    <?xml version="1.0" encoding="gb2312"?>

    2 PHP對XML文檔的操作

    2.1 PHP實(shí)現(xiàn)對XML文檔結(jié)構(gòu)的遍歷與內(nèi)容的顯示

    要實(shí)現(xiàn)對XML文檔結(jié)構(gòu)的遍歷與內(nèi)容的顯示,則需要用到以下方法:

    ⑴Load():Mixed load(string filename);用于加載一個(gè)filename指定名稱的xml文件。

    ⑵getElementByTagName():DOMNodeListgetElementByTagNames(string name);返回一個(gè)節(jié)點(diǎn)列表,參數(shù)name為指定標(biāo)簽的名稱。

    ⑶item():DomNode item(int index);返回dom節(jié)點(diǎn)列表中的指定節(jié)點(diǎn),參數(shù)index為指定的項(xiàng)數(shù)。

    ⑷顯示class.xml內(nèi)容的相關(guān)代碼:

    <?php

    $dom=new DOMDocument;

    $dom->load("class.xml");

    $root=$dom->getElementsByTagName("CLASS");

    $root=$root->item(0);

    $uid=$dom->getElementsByTagName("STUDENT");

    foreach ($uid as $uidData){

    foreach ($uidData->attributes as $attrib){

    echo $attribName=$attrib->nodeName.":";

    echo $attribValue=$attrib->nodeValue;

    echo "

    ";}}?>。

    2.1 添加XML數(shù)據(jù)

    添加XML數(shù)據(jù)就是對其節(jié)點(diǎn)的操作,相關(guān)步驟如下:

    ⑴找到需要添加節(jié)點(diǎn)的父節(jié)點(diǎn)

    $root=$dom->getElementsByTagName("CLASS");

    $root=$root->item(0);

    ⑵在這個(gè)父節(jié)點(diǎn)中創(chuàng)建子節(jié)點(diǎn)

    $newclass=$root->appendChild(new DOMElement('STUDENT'));

    ⑶在子節(jié)點(diǎn)中添加屬性和值

    $newclass->setAttributeNode(new DOMAttr("attributename", "values"));其中"attributename"為子節(jié)點(diǎn)中的屬性名,"values"為添加的屬性值。

    ⑷保存文件。$dom->save("class.xml");

    ⑸向class.xml文檔中添加數(shù)據(jù)的主要代碼是:

    $newclass->setAttributeNode(new DOMAttr("no", "003"));

    $newclass->setAttributeNode(new DOMAttr("name", "alice"));

    $newclass->setAttributeNode(newDOMAttr("tel","027567"));

    $dom->save("class.xml");

    2.3 修改XML數(shù)據(jù)

    對XML文檔數(shù)據(jù)的修改,其實(shí)就是找到滿足條件的節(jié)點(diǎn)記錄,對相應(yīng)的屬性賦予新的值,并添加到原來的XML文件中,還是以class.xml文件為例,主要代碼是:

    foreach ($class as $newchann){

    foreach ($newchann->attributes as $newAttri){

    if($newAttri->nodeName=="no"){

    if($newAttri->nodeValue=="003"){

    $newchann->setAttribute("tel","888888");//使用函數(shù)對tel的值進(jìn)行更改}}。

    2.4 刪除XML數(shù)據(jù)

    對XML數(shù)據(jù)的刪除,主要用到了函數(shù) DOMNode removeChild(DOMNode oldnode),

    DOMNode oldnode為要?jiǎng)h除的某個(gè)數(shù)據(jù)項(xiàng),并將刪除的后的文檔數(shù)據(jù)重新存于另外一個(gè)xml文檔。主要代碼為:

    $del=$class->item(1);

    $all->removeChild($del);

    $dom->save("temp.xml");

    $dom->load("temp.xml");表示刪除后的XML數(shù)據(jù)將保存在temp.xml文件中。

    3 結(jié)語

    PHP操作XML文件,主要是應(yīng)用PHP預(yù)定義的用于操作XML文件的類及類中相關(guān)的方法實(shí)現(xiàn)的,在目前常見的新聞發(fā)布、論壇中,通過讀取XML文件中的數(shù)據(jù)顯示、添加、修改相關(guān)內(nèi)容都是在以上基礎(chǔ)操作上再次細(xì)化設(shè)計(jì)而成,其應(yīng)用成果都得以廣范應(yīng)用。

    [參考文獻(xiàn)]

    [1]許登旺,鄒天思,潘凱華.PHP程序開發(fā)范例寶典.明日科技.人民郵電出版社,2007.10.

    [2]丘廣華,張文敏.XML編程實(shí)例教程.科學(xué)出版社,2004.04.

    猜你喜歡
    操作
    關(guān)于數(shù)控機(jī)床操作中防碰撞措施的探討及分析
    泌尿外科手術(shù)及操作致輸尿管損傷臨床分析
    淺談低年級數(shù)學(xué)教學(xué)中的操作能力
    東方教育(2016年17期)2016-11-23 10:27:25
    包埋在病理制片中的應(yīng)用分析
    今日健康(2016年12期)2016-11-17 12:54:26
    安宁市| 灌阳县| 乾安县| 泰兴市| 调兵山市| 宜阳县| 土默特左旗| 柳州市| 大理市| 同德县| 犍为县| 图木舒克市| 奈曼旗| 扎兰屯市| 静海县| 石嘴山市| 博湖县| 达日县| 永仁县| 二连浩特市| 镇赉县| 昌都县| 仁布县| 揭东县| 铜鼓县| 方山县| 勐海县| 冷水江市| 赣榆县| 曲水县| 无为县| 广灵县| 南部县| 湄潭县| 吉水县| 昌宁县| 东阳市| 岐山县| 集安市| 清丰县| 庆城县|