国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php xml 入門學習資料

php xml 入門學習資料

2019-11-14 14:56PHP教程網 PHP教程

今天做項目時遇到一個問題:需要動態更新主頁上的圖片,以示本站不是做完了就算了,是有人一直在維護。好了,需求有了,如何實現?!

起因: 
  今天做項目時遇到一個問題:需要動態更新主頁上的圖片,以示本站不是做完了就算了,是有人一直在維護。好了,需求有了,如何實現?! 
  我的想法如下: 
  圖片存放位置:放在一個文件夾中;圖片的類型:不能固定了,只要是圖片就可以上傳顯示;圖片名字:按原始名字有點不正規,應該重新命名一下。 
  顯示的位置:這就需要對圖片指定相應的id,這個id是固定的,要與圖片一一對應。于是就有一個記錄一一對應的關系文件,可以選擇csv文件,選擇數據庫記錄,最后決定選擇xml,這個東西在學校一直沒學懂,我一直回避使用這東西,怕麻煩。今天算是挑戰一下,花了一下午時間,終于有所收獲。 
學習步驟: 
  明確目標: 1、理解xml的結構;2、如何動態建立xml文件;3、如何讀取和修改xml文件 
  一、 xml的結構是樹形結構: 
這個好理解。簡單寫一個: 

復制代碼代碼如下:


<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創建: 
    1. 定義一個DOM對象: $dom = new DomDocument('1.0'); 
    2. 添加子元素:$dom->appendChild($dom->createElement("pictures")) 
     內存中的原型是:<pictures></pictures> 
     繼續往里邊加子元素:*->appendChild($dom->createElement("picture")); 
     繼續加: **->appendChild($dom->createElement("id")); 
     不加子元素了,加節點: ***->appendChild($dom->createNode("1")) 
     上面的*代表上上一行的代碼;這樣一來就可以寫成一行: 
       $dom->appendChild($dom->createElement("pictures"))->appendChild($dom->createElement("picture")) 
       ->appendChild($dom->createElement("id"))->appendChild($dom->createNode("1")); 
     現在內存中應該是這樣的:<pictures><picture><id>1</id></picture></pictures> 
     顯然里要求還遠,很容易看懵的。 
      因此一般這么寫: $pictures = $dom->appendChild($dom->createElement("pictures")); 
               $picture = $pictures->appendChild($dom->createElement("picture")); 
               $id = $picture->appendChild($dom->createElement("id")); 
                $id->appendChild($dom->createNode("1")); 
      下面還可以接著創建name節點: 
               $name = $picture->appendChild($dom->createElement("name")); 
                   $name->appendChild($dom->createNode("pic 1")); 
      接下來還要接著創建picture節點: 
              $picture = $pictures->appendChild($dom->createElement("picture")); 
      其實這些麻煩的事可以寫個for循環來實現。 
      生成xml文件: 
              $dom->formatOutput = true;//設置格式化輸出 
              $dom->save("erhsh.xml");//保存xml文件 
  三、讀取xml文件。 
      1、還是定義一個DOM對象;$dom->new DomDocument(); 
      2、加載xml文件:$dom->load("erhsh.xml"); 
      3、按照節點的名字取得節點集合:$dom->getElementByTagName("pictures"); 
      這種方法有點麻煩

    不過有一種我喜歡的方法:simplexml_load_file("erhsh.xml"); 
     此方法可以把xml文件的內容轉換成對象的形式,使用"->"結和"[]"很容易去的xml的內容; 
    但是在開發中還是遇到了一點問題: 
    當執行:print_r($xml->pictures);時輸出的是一個 SimpleXMLElement 對象,([picture] => array([0]=>array(...)[1]=>array(...))); 
    再執行:print_r($xml->pictures->picture);輸出的是n個分開的對象。 
    執行:print_r($xml->pictures->picture[0]->id);輸出的還是一個對象。這就很不理解,應該是一個字符串。 最后網上說是“迭代對象”, 
    應該使用echo輸出,print_r(), var_dump()輸出不準確。
    當然也可以修改xml的值通過這個方法。 
寫的很爛,僅供本人備忘。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美国产精品一区二区 | 国产激情一区二区三区 | 毛片视频免费播放 | 久久久久国产精品免费免费搜索 | 国产欧美精品一区二区 | 国产精品99久久久久久www | 欧美日韩一级电影 | 另类亚洲专区 | 亚洲va欧美va人人爽成人影院 | 精品国产一区二区在线 | 99免费视频 | 成人激情在线播放 | 久草视频免费看 | 国产视频网 | 日韩av资源网 | 国产片在线看 | 午夜伦理影院 | 北条麻妃99精品青青久久 | 国产精品欧美日韩在线观看 | 久久影院免费观看 | 国产一区二区久久 | 国产婷婷色一区二区三区 | 亚洲国产aⅴ成人精品无吗 黄色免费在线看 | 精品免费一区二区 | 日韩精品在线播放 | 欧美一级视频在线观看 | 久久久久av | 男人的天堂在线免费视频 | 日韩第一区| 伊大人久久香线焦宗合一75大 | 亚洲一区国产 | 成年免费视频黄网站在线观看 | 国产天堂网 | 欧美日韩精品一区二区在线播放 | 午夜电影网站 | 亚洲一区二区免费视频 | 国产精品美女 | 国内精品视频在线观看 | 国产综合区| 日韩精品亚洲一区 | 国产片在线免费播放 |