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

首頁 > 開發(fā) > PHP > 正文

PHP DOMDocument實現(xiàn)XML讀寫操作

2024-05-04 21:58:37
字體:
供稿:網(wǎng)友

在php中操作xml文檔我們可以直接調(diào)用DOMDocument類或使用simplexml_load_string類來操作,這些都不需要加載算是內(nèi)置函數(shù)了,我們直接使用.

PHP腳本讀取XML最原始,最笨的方法,代碼如下:

  1. $doc = new DOMDocument();  
  2.     
  3. $doc->load('test.xml');  
  4.     
  5. $rows = $doc->getElementsByTagName("ds");  
  6.     
  7. $d = array();  
  8.     
  9. $i = 0;  
  10. foreach($rows as $row)  
  11. {  
  12.    $web     = $row->getElementsByTagName('web');  
  13.    $webUrl  = $row->getElementsByTagName('webUrl');  
  14.    $d[$i]['web']    = $web->item(0)->nodeValue;  
  15.    $d[$i]['webUrl'] = $webUrl->item(0)->nodeValue;  
  16.    $i++;  
  17. }  
  18. //開源代碼Vevb.com 
  19. print_R($d); 

簡單,容易,速度快,代碼如下:

  1. $xmlData = file_get_contents('test.xml');  
  2.     
  3. $xml = simplexml_load_string($xmlData);  
  4.     
  5. $xmlArr = objectToArray($xml); 

objectToArray函數(shù)代碼如下:

  1. function objectToArray($object)  
  2. {    
  3.    if(!$objectreturn '';  
  4.    $result = array();    
  5.    $object = is_object($object) ? get_object_vars($object) : $object;    
  6.    foreach ($object as $key => $val) {    
  7.        $val = (is_object($val) || is_array($val)) ? objectToArray($val) : $val;    
  8.        $result[$key] = $val;    
  9.    }    
  10.    return $result;    

上面講到了讀取xml,下面再介紹寫xml實例,代碼如下:

  1. $arr = array(  
  2.          array('id'=>1,'web'=>'好腳本','webUrl'=>'http://m.survivalescaperooms.com'),  
  3.          array('id'=>2,'web'=>'PHP腳本','webUrl'=>'http://m.survivalescaperooms.com/'),  
  4.          array('id'=>3,'web'=>'JavaScript腳本','webUrl'=>'http://m.survivalescaperooms.com/'),  
  5.          array('id'=>4,'web'=>'js腳本','webUrl'=>'http://m.survivalescaperooms.com/'),  
  6.          array('id'=>5,'web'=>'PHP腳本示例','webUrl'=>'http://m.survivalescaperooms.com/'),  
  7.          array('id'=>5,'web'=>'JavaScript腳本示例','webUrl'=>'http://m.survivalescaperooms.com/')  
  8.          );  
  9. /*使用dom生成xml,注意生成的xml中會沒有空格。*/ 
  10. $dom=new DOMDocument('1.0','utf-8');  
  11.     
  12. $path"logs/test.xml";  
  13.     
  14. $data=$dom->createElement('data');  
  15.     
  16. $dom->appendChild($data);  
  17.     
  18. foreach($arr as $v)  
  19. {  
  20.     $ds = $dom->createElement('ds');  
  21.     
  22.     $id = $dom->createAttribute('id');   
  23.         
  24.     $id->nodeValue = $v['id'];  
  25.      
  26.     $ds->setAttributeNode($id);  
  27.     
  28.     $data->appendChild($ds);  
  29.     
  30.     foreach($v as $kk=>$vv)  
  31.     {  
  32.        ${$kk} = $dom->createElement($kk);   
  33.                 
  34.        $value$dom->createTextNode($vv);  
  35.         
  36.        ${$kk}->appendChild($value);  
  37.     
  38.        $ds->appendChild(${$kk});  
  39.     
  40.     }  
  41. }  
  42.     
  43. $dom->saveXML();  
  44.     
  45. $dom->save($path); 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄂温| 高安市| 武山县| 庆元县| 武山县| 万荣县| 齐河县| 应城市| 邮箱| 石狮市| 临潭县| 长宁区| 小金县| 西乌珠穆沁旗| 五原县| 南乐县| 天津市| 锡林郭勒盟| 罗田县| 龙口市| 珠海市| 凤阳县| 论坛| 且末县| 明光市| 府谷县| 铜鼓县| 曲阜市| 贵阳市| 三明市| 博爱县| 永定县| 田林县| 万宁市| 青州市| 宽甸| 霍山县| 临湘市| 富裕县| 庆安县| 囊谦县|