国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > XML > 正文

xml基礎(chǔ)學(xué)習(xí)筆記02

2020-03-22 16:48:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  •   接著上次的xml筆記01 ,記錄一下如何DOM創(chuàng)建xml

      一、由于沒(méi)有特意來(lái)寫(xiě)博客,都是在程序中用注釋的方法記錄筆記,整理過(guò)來(lái)難免格式錯(cuò)誤,排版什么的,大家好事看不懂就仔細(xì)看給出的代碼加上注釋?zhuān)欢〞?huì)看明白的,代碼中用到的方法,php手冊(cè)都有。不知道的可以查手冊(cè),這里說(shuō)說(shuō)我查手冊(cè)時(shí)的一個(gè)總結(jié):

        1.DOMNode 類(lèi) ,這是一個(gè)dom的根類(lèi),里面定義了一下屬性和方法。比如:$nodeName屬性appendChild方法 等等

        2、DOMDocument 類(lèi),這是一個(gè)文檔類(lèi),它繼承domNode類(lèi),里面有自己的屬性和方法

      3、DOMElement 類(lèi),是一個(gè)元素類(lèi),也是繼承domNode類(lèi),當(dāng)然也有自己的屬性和方法

        4、DOMAttr 類(lèi) 一個(gè)屬性類(lèi),和上面一樣

        5、DOMCdataSection類(lèi),一個(gè)CDATA類(lèi),同上

        6、DOMText 類(lèi),一個(gè)文本類(lèi),同上

      如何創(chuàng)建和使用對(duì)應(yīng)的類(lèi)?

        看上篇博客有這幾個(gè)對(duì)象:

          DOMdocument object -->  DOMDocument 類(lèi)

          DOMElement Object -->  DOMElement 類(lèi)

          DOMText Object -->  DOMText 類(lèi)

          DOMNodeList Object 這個(gè)是節(jié)點(diǎn)列表對(duì)象是 對(duì)應(yīng)DOMNodeList 類(lèi)

      二、現(xiàn)在給出代碼,就把注釋當(dāng)做博文吧。

        

      1 <?php  2 /**  3  *   4  * @authors wxb (http://www.cnblogs.com/wxb0328/)  5  * @date    2014-09-30 22:36:02  6  * @version $Id$  7  */  8 /*  9 34、DOM創(chuàng)建XML 10             1、再次強(qiáng)調(diào):在xml里,一切皆是節(jié)點(diǎn),包括換行符和空白,都是文本節(jié)點(diǎn)(xml是純文本的,所以這些自然也是節(jié)點(diǎn)),下面說(shuō)的屬性也是一個(gè)節(jié)點(diǎn),叫做屬性節(jié)點(diǎn) 11             2、如何生成下面這樣的xml文件? 12                     <?xml version='1.0' encoding='utf-8' ?> 13                     <bookstore> 14                      <book id="b001"> 15                       <title>路遙-平凡的世界</title> 16                       <intro><![CDATA[這是一部經(jīng)典書(shū)籍&老少皆宜]]></intro> 17                      </book> 18                     </bookstore> 19                 DOM怎么創(chuàng)建? 20                     方法一:從里往外 21                         1、創(chuàng)建 路遙-平凡的世界 文本節(jié)點(diǎn) 22                         2、創(chuàng)建普通的title節(jié)點(diǎn) 23                         3、把 路遙-平凡的世界 文本節(jié)點(diǎn),加入到title節(jié)點(diǎn)中 24                         4、創(chuàng)建CDATA節(jié)點(diǎn) 25                         5、創(chuàng)建intro節(jié)點(diǎn) 26                         6、把CDATA節(jié)點(diǎn)放到intro節(jié)點(diǎn)中 27                         7、創(chuàng)建book節(jié)點(diǎn) 28                         8、把title和intro節(jié)點(diǎn)放到book節(jié)點(diǎn)中 29                         9、創(chuàng)建id屬性節(jié)點(diǎn) 30                         10、把屬性節(jié)點(diǎn)放到book節(jié)點(diǎn)中 31                         11、再創(chuàng)建bookstore節(jié)點(diǎn) 32                         12、把book節(jié)點(diǎn)放到bookstore節(jié)點(diǎn)中 33                         13、把bookstore節(jié)點(diǎn)放到文檔中 34                     方法二:從外往里 35  36                     在上面的步驟中我們提取出下面幾種操作: 37                         1、如何創(chuàng)建文本節(jié)點(diǎn) 38                         2、如何創(chuàng)建普通節(jié)點(diǎn) 39                         3、如何創(chuàng)建CDATA節(jié)點(diǎn) 40                         4、如何創(chuàng)建屬性節(jié)點(diǎn) 41                         5、如何增加子節(jié)點(diǎn) 42                     下面開(kāi)始完成這個(gè)xml的創(chuàng)建,操作中的方法的具體用法和說(shuō)明查php手冊(cè) 43 */ 44 // 創(chuàng)建DOM文檔對(duì)象 45 $dom = new DOMDocument('1.0','utf-8'); 46  47 // 1、創(chuàng)建文本節(jié)點(diǎn), 48 // 調(diào)用createTextNode()方法 49 $text = $dom->createTextNode('路遙-平凡的世界'); 50 // 2、創(chuàng)建title元素 51 $title = $dom->createElement('title'); 52  53 // 3、把 路遙-平凡的世界 文本節(jié)點(diǎn),加入到title節(jié)點(diǎn)中 54 $title->appendChild($text); 55 // 4、創(chuàng)建CDATA節(jié)點(diǎn) 56 $cdata = $dom->createCDATASection('這是一部經(jīng)典書(shū)籍&老少皆宜'); 57 // 5、創(chuàng)建intro節(jié)點(diǎn) 58 $intro = $dom->createElement('intro'); 59 // 6、把CDATA節(jié)點(diǎn)放到intro節(jié)點(diǎn)中 60 $intro->appendChild($cdata); 61 // 7、創(chuàng)建book節(jié)點(diǎn) 62 $book = $dom->createElement('book'); 63 // 8、把title和intro節(jié)點(diǎn)放到book節(jié)點(diǎn)中 64 $book->appendChild($title); 65 $book->appendChild($intro); 66 // 9、創(chuàng)建id屬性節(jié)點(diǎn) 67 $id = $dom->createAttribute('id'); 68 $id->html' target='_blank'>value = 'b001'; 69 // 10、把屬性節(jié)點(diǎn)放到book節(jié)點(diǎn)中 70 $book->appendChild($id); 71 // 11、再創(chuàng)建bookstore節(jié)點(diǎn) 72 $bookstore = $dom->createElement('bookstore'); 73 // 12、把book節(jié)點(diǎn)放到bookstore節(jié)點(diǎn)中 74 $bookstore->appendChild($book); 75 // 13、把bookstore節(jié)點(diǎn)放到文檔中 76 $dom->appendChild($bookstore); 77  78 // 輸出看看 79 /* 80  * 81  * 為什么這個(gè)方法可以輸出,看名字不想啊,查看手冊(cè)我們可以看到 82  * string DOMDocument::saveXML ([ DOMNode $node [, int $options ]] ) 83  * Returns the XML, or FALSE if an error occurred.  84  * 這個(gè)方法,參數(shù)可以缺省,返回是一個(gè)xml,也就是字符串吧,定義不是:string嗎 85  */ 86 //echo $dom->saveXML(); 87 /*  88  * 我們看到結(jié)果如圖1,頁(yè)面上什么也沒(méi)有,但是請(qǐng)注意頭部那個(gè)標(biāo)簽,我們?cè)儆益I看源碼。如圖2 89  * 明白了,之所以沒(méi)有在頁(yè)面上看到是因?yàn)?a href='http://m.survivalescaperooms.com/tag/liulanqi_7527_1.html' target='_blank'>瀏覽器解析了我們的這個(gè)xml 90  * 那么怎么避免瀏覽器解析? 91  * 給瀏覽器發(fā)生一個(gè)頭部信息,告訴瀏覽器給的是xml 不要解析 92  * header("content-type:text/xml"); 93  *  94 */ 95 //現(xiàn)在我們先注釋掉上面的輸出,用下面的輸出  96 //header("content-type:text/xml"); 97 //echo $dom->saveXML(); 98 // 結(jié)果如圖3 99 100 /* 現(xiàn)在我們?cè)囍鴮⑸厦嫔傻膞ml 保存成一個(gè)文件101  * 使用save()方法102  * int DOMDocument::save ( string $filename [, int $options ] )103  *         filename The path to the saved XML document104 105  */106 echo $dom->save('34.xml') ? "ok" : "no";107 // 成功生成xml文件,如圖4108 109 /*110  * 同時(shí),我們發(fā)現(xiàn),生成的這個(gè)xml文檔,沒(méi)有任何格式,沒(méi)有空格、沒(méi)有換行、一行就完成了。111  * 這恰恰驗(yàn)證了 上面說(shuō)的 在xml中一切皆是節(jié)點(diǎn)112  */113 114 ?>

    圖片:

    圖一

    圖二

    圖三:

    圖四:

      好了,就這么多吧,睡覺(jué)了。如果有什么錯(cuò)誤,歡迎大家批評(píng)指正啊。晚安,博客園

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶(hù)名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 建水县| 泉州市| 靖远县| 南江县| 休宁县| 枝江市| 衡阳县| 怀来县| 新巴尔虎右旗| 舞阳县| 肇州县| 克山县| 剑河县| 漾濞| 新巴尔虎右旗| 陆川县| 蕲春县| 万安县| 法库县| 开平市| 虞城县| 海丰县| 卓尼县| 祁连县| 延长县| 虎林市| 谷城县| 许昌市| 海晏县| 师宗县| 武威市| 澄城县| 阿拉尔市| 诸城市| 天长市| 深泽县| 普格县| 永和县| 雅安市| 绥化市| 瑞安市|