天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php xml 入門學(xué)習(xí)資料

起因:
  今天做項(xiàng)目時(shí)遇到一個(gè)問題:需要?jiǎng)討B(tài)更新主頁上的圖片,以示本站不是做完了就算了,是有人一直在維護(hù)。好了,需求有了,如何實(shí)現(xiàn)?!
  我的想法如下:
  圖片存放位置:放在一個(gè)文件夾中;圖片的類型:不能固定了,只要是圖片就可以上傳顯示;圖片名字:按原始名字有點(diǎn)不正規(guī),應(yīng)該重新命名一下。
  顯示的位置:這就需要對(duì)圖片指定相應(yīng)的id,這個(gè)id是固定的,要與圖片一一對(duì)應(yīng)。于是就有一個(gè)記錄一一對(duì)應(yīng)的關(guān)系文件,可以選擇csv文件,選擇數(shù)據(jù)庫記錄,最后決定選擇xml,這個(gè)東西在學(xué)校一直沒學(xué)懂,我一直回避使用這東西,怕麻煩。今天算是挑戰(zhàn)一下,花了一下午時(shí)間,終于有所收獲。
學(xué)習(xí)步驟:
  明確目標(biāo): 1、理解xml的結(jié)構(gòu);2、如何動(dòng)態(tài)建立xml文件;3、如何讀取和修改xml文件
  一、 xml的結(jié)構(gòu)是樹形結(jié)構(gòu):
這個(gè)好理解。簡(jiǎn)單寫一個(gè):
復(fù)制代碼 代碼如下:
<pictures>
<picture>
<id>1</id>
<name>pic 1</name>
</picture>
<picture>
<id>2</id>
<name>pic 2</name>
</picture>
<picture>
<id>3</id>
<name>pic 3</name>
</picture>
</pictures>

二、我使用的php創(chuàng)建:
    1. 定義一個(gè)DOM對(duì)象: $dom = new DomDocument('1.0');
    2. 添加子元素:$dom->appendChild($dom->createElement("pictures"))
     內(nèi)存中的原型是:<pictures></pictures>
     繼續(xù)往里邊加子元素:*->appendChild($dom->createElement("picture"));
     繼續(xù)加: **->appendChild($dom->createElement("id"));
     不加子元素了,加節(jié)點(diǎn): ***->appendChild($dom->createNode("1"))
     上面的*代表上上一行的代碼;這樣一來就可以寫成一行:
       $dom->appendChild($dom->createElement("pictures"))->appendChild($dom->createElement("picture"))
       ->appendChild($dom->createElement("id"))->appendChild($dom->createNode("1"));
     現(xiàn)在內(nèi)存中應(yīng)該是這樣的:<pictures><picture><id>1</id></picture></pictures>
     顯然里要求還遠(yuǎn),很容易看懵的。
      因此一般這么寫: $pictures = $dom->appendChild($dom->createElement("pictures"));
               $picture = $pictures->appendChild($dom->createElement("picture"));
               $id = $picture->appendChild($dom->createElement("id"));
                $id->appendChild($dom->createNode("1"));
      下面還可以接著創(chuàng)建name節(jié)點(diǎn):
               $name = $picture->appendChild($dom->createElement("name"));
                   $name->appendChild($dom->createNode("pic 1"));
      接下來還要接著創(chuàng)建picture節(jié)點(diǎn):
              $picture = $pictures->appendChild($dom->createElement("picture"));
      其實(shí)這些麻煩的事可以寫個(gè)for循環(huán)來實(shí)現(xiàn)。
      生成xml文件:
              $dom->formatOutput = true;//設(shè)置格式化輸出
              $dom->save("erhsh.xml");//保存xml文件
  三、讀取xml文件。
      1、還是定義一個(gè)DOM對(duì)象;$dom->new DomDocument();
      2、加載xml文件:$dom->load("erhsh.xml");
      3、按照節(jié)點(diǎn)的名字取得節(jié)點(diǎn)集合:$dom->getElementByTagName("pictures");
      這種方法有點(diǎn)麻煩,參考文件:
http://www.jb51.NET/article/25853.htm

    不過有一種我喜歡的方法:simplexml_load_file("erhsh.xml");
     此方法可以把xml文件的內(nèi)容轉(zhuǎn)換成對(duì)象的形式,使用"->"結(jié)和"[]"很容易去的xml的內(nèi)容;
    但是在開發(fā)中還是遇到了一點(diǎn)問題:
    當(dāng)執(zhí)行:print_r($xml->pictures);時(shí)輸出的是一個(gè) SimpleXMLElement 對(duì)象,([picture] => array([0]=>array(...)[1]=>array(...)));
    再執(zhí)行:print_r($xml->pictures->picture);輸出的是n個(gè)分開的對(duì)象。
    執(zhí)行:print_r($xml->pictures->picture[0]->id);輸出的還是一個(gè)對(duì)象。這就很不理解,應(yīng)該是一個(gè)字符串。 最后網(wǎng)上說是“迭代對(duì)象”,
    應(yīng)該使用echo輸出,print_r(), var_dump()輸出不準(zhǔn)確。參考地址:http://www.jb51.NET/article/25852.htm
    當(dāng)然也可以修改xml的值通過這個(gè)方法。
寫的很爛,僅供本人備忘。

php技術(shù)php xml 入門學(xué)習(xí)資料,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 果冻传媒视频在线播放 免费观看 | a视频在线看 | 久久中文字幕亚洲 | 亚洲偷偷自拍免费视频在线 | 使劲别停好大好深好爽动态图 | 野花日本手机观看大全免费3 | 日韩精品一区二区亚洲AV观看 | 久久99免费视频 | 少妇的肉体AA片免费 | 蜜桃AV色欲A片精品一区 | 人妻天天爽夜夜爽三区麻豆A片 | 在线伦理电影网 | 人妻天天爽夜夜爽三区麻豆A片 | 国产在线观看免费 | 无码137片内射在线影院 | 白丝高中生被c爽哭 | 乌克兰成人性色生活片 | 国产成人小视频在线观看 | 欧美AAAAAA级午夜福利视频 | 中文字幕福利视频在线一区 | 在线观看成人3d动漫入口 | 老师洗澡让我吃她胸的视频 | 亲胸揉胸膜下刺激视频网站APP | 蜜桃TV成人网站免费打开 | 麻豆一区二区三区蜜桃免费 | 男人天堂999 | 暖暖视频在线高清播放 | 芭乐草莓樱桃丝瓜18岁大全 | 午夜免费无码福利视频麻豆 | 高hbl双性浪荡古代 高h 大尺度纯肉 np快穿 | 在线观看亚洲免费视频 | 啦啦啦视频在线观看WWW | 美女激清床上戏大全 | 欧美精品99久久久啪啪 | 视频成人app永久在线观看 | 日本美女搞基视频 | 成人高清网站 | 欧美亚洲日韩国产在线在线 | 国产精品免费一区二区三区四区 | 好男人免费观看在线高清WWW | 午夜一级免费视频 |