亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP生成和獲取XML格式數據實現代碼

2024-05-04 21:48:12
字體:
來源:轉載
供稿:網友

本文章來給大家介紹在php中生成和獲取XML格式數據代碼,生成xml我們使用DOMDocument,讀取xml我們使用XMLReader即可,下面我分別給大家介紹.

生成XML格式數據

我們假設系統中有一張學生信息表student,需要提供給第三方調用,并有id,name,sex,age分別記錄學生的姓名、性別、年齡等信息.數據庫SQL代碼如下:

  1. CREATE TABLE `student` (  
  2.   `id` int(11) NOT NULL auto_increment,  
  3.   `namevarchar(50) NOT NULL,  
  4.   `sex` varchar(10) NOT NULL,  
  5.   `age` smallint(3) NOT NULL default '0',  
  6.   PRIMARY KEY  (`id`)  
  7. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;  

首先,建立createXML.php文件,先連接數據庫,獲取數據,代碼如下:

  1. include_once ("connect.php"); //連接數據庫  
  2.  
  3. $sql = "select * from student";  
  4. $result = mysql_query($sqlor die("Invalid query: " . mysql_error());  
  5. while ($row = mysql_fetch_array($result)) {  
  6.     $arr[] = array(  
  7.         'name' => $row['name'],  
  8.         'sex' => $row['sex'],  
  9.         'age' => $row['age']  
  10.     ); //開源代碼Vevb.com 

這個時候,數據就保存在$arr中,你可以使用print_r打印下數據測試,接著,建立xml,循環數組,將數據寫入到xml對應的節點中,代碼如下:

  1. $doc = new DOMDocument('1.0''utf-8');  // 聲明版本和編碼  
  2. $doc->formatOutput = true;  
  3.  
  4. $r = $doc->createElement("root");  
  5. $doc->appendChild($r);  
  6.  
  7. foreach ($arr as $dat) {  
  8.     $b = $doc->createElement("data");  
  9.  
  10.     $name = $doc->createElement("name");  
  11.     $name->appendChild($doc->createTextNode($dat['name']));  
  12.     $b->appendChild($name);  
  13.  
  14.     $sex = $doc->createElement("sex");  
  15.     $sex->appendChild($doc->createTextNode($dat['sex']));  
  16.     $b->appendChild($sex);  
  17.  
  18.     $age = $doc->createElement("age");  
  19.     $age->appendChild($doc->createTextNode($dat['age']));  
  20.     $b->appendChild($age);  
  21.  
  22.     $r->appendChild($b);  
  23. }  
  24.  
  25. echo $doc->saveXML(); 

我們調用了PHP內置的類DOMDocument來處理與生成xml,最終生成的xml格式,代碼如下:

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <root>   
  3.   <data>   
  4.     <name>李王皓</name>   
  5.     <sex></sex>   
  6.     <age>21</age>   
  7.   </data>  
  8.   ...  
  9. </root> 

獲取XML格式數據

現在我們假設要從第三方獲取學生信息,數據格式是XML,我們需要使用PHP解析XML,然后將解析后的數據顯示或者寫入本地數據庫,而這里關鍵的一步是解析XML.

PHP有很多中方法可以解析XML,其中PHP提供了內置的XMLReader類可以循序地瀏覽過xml檔案的節點,你可以想像成游標走過整份文件的節點,并抓取需要的內容,使用XMLReader是高效的,尤其是讀取非常大的xml數據,相對其他方法,使用XMLReader消耗內存非常少,代碼如下:

  1. header("Content-type:text/html; Charset=utf-8");   
  2. $url = "importXML/createXML.php";    
  3. $reader = new XMLReader();  //實例化XMLReader  
  4. $reader->open($url); //獲取xml  
  5. $i=1;  
  6. while ($reader->read()) {      
  7.   if ($reader->nodeType == XMLReader::TEXT) { //判斷node類型  
  8.      $m = $i%3;  
  9.      if($m==1)  
  10.          $name = $reader->value;  //讀取node值  
  11.      if($m==2)  
  12.          $sex = $reader->value;  
  13.      if($m==0){  
  14.          $age = $reader->value;  
  15.          $arr[] = array(  
  16.              'name' => $name,  
  17.              'sex' => $sex,  
  18.              'age' => $age  
  19.          );  
  20.      }  
  21.      $i++;  
  22.   }  
  23. }  
  24. //print_r($arr); 

為了將數據name,sex和age分開,我們使用$i%3來判斷取模,因為在獲取的xml中,節點data下的信息是以3個子節點存在的.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩最新中文字幕电影免费看| 久久久亚洲影院你懂的| 国内揄拍国内精品少妇国语| 国产精品揄拍500视频| 欧美韩日一区二区| 久久久电影免费观看完整版| 久久全球大尺度高清视频| 亚洲视频在线观看网站| 最近的2019中文字幕免费一页| 自拍偷拍亚洲一区| 亚洲女人初尝黑人巨大| 91理论片午午论夜理片久久| 亚洲男人天堂网站| 亚洲第一二三四五区| www.亚洲一区| 欧美中文字幕在线| 91免费在线视频网站| 亚洲视频专区在线| 久久久精品在线观看| 亚洲第一免费播放区| 欧美一级在线亚洲天堂| 日韩av成人在线| 国产精品大陆在线观看| 国产精品吹潮在线观看| 97在线看免费观看视频在线观看| 欧美激情亚洲综合一区| 成人精品视频久久久久| 亚洲成人网在线| 欧美国产精品日韩| 国产欧美一区二区白浆黑人| 日本免费一区二区三区视频观看| 一级做a爰片久久毛片美女图片| 97视频在线观看免费高清完整版在线观看| 国产成人精品av| 国产精品免费在线免费| 欧美国产一区二区三区| 97色在线视频| 欧美裸体男粗大视频在线观看| 欧美大码xxxx| 91在线色戒在线| www.亚洲一二| 亚洲一区二区三区四区在线播放| 欧美色播在线播放| 亚洲影院污污.| 欧美日韩国产一中文字不卡| 91欧美精品午夜性色福利在线| 日韩电影网在线| 疯狂蹂躏欧美一区二区精品| 久久久久国产精品www| 在线观看国产欧美| 7777免费精品视频| 国产精品mp4| 亚洲精品99久久久久中文字幕| 日韩中文字幕视频| 成人精品福利视频| 成人女保姆的销魂服务| 日韩小视频在线| 精品成人久久av| 欧美性受xxxx白人性爽| 精品国产乱码久久久久酒店| 精品自在线视频| 一区二区在线视频播放| 亚洲欧美在线看| 精品香蕉在线观看视频一| 亚洲天堂av高清| 国产suv精品一区二区| 国产乱肥老妇国产一区二| 欧美在线不卡区| 中文字幕av一区二区三区谷原希美| 久久手机精品视频| 91精品国产综合久久久久久蜜臀| 欧美在线观看日本一区| 日本国产精品视频| 7777精品视频| 亚洲成人亚洲激情| 久久99久久99精品中文字幕| 黑人巨大精品欧美一区二区三区| 国产精品高清网站| 日韩精品日韩在线观看| 久久久成人精品视频| 不卡毛片在线看| 7777免费精品视频| 欧美激情第一页xxx| 日日狠狠久久偷偷四色综合免费| 一区二区欧美在线| 国产精品视频1区| 欧美精品免费看| 97精品伊人久久久大香线蕉| 欧美剧在线观看| 91欧美精品午夜性色福利在线| 久久人人爽国产| 国产精品久久久久久久久久久久久久| 日韩在线一区二区三区免费视频| 成人福利网站在线观看11| 日韩av在线影院| 亚洲欧美在线播放| 亚洲成人免费在线视频| 亚洲欧美激情另类校园| 国产精品jvid在线观看蜜臀| 亚洲美女又黄又爽在线观看| 欧美电影在线观看网站| 日韩中文字幕在线精品| 欧美日本高清一区| 日韩久久免费视频| 97久久精品国产| 亚洲激情成人网| 亚洲欧美在线第一页| 国产精品青青在线观看爽香蕉| 色综合久久天天综线观看| www.欧美免费| 国产精品av在线| 亚洲第一天堂av| 91精品久久久久久久久中文字幕| 两个人的视频www国产精品| 亚洲精品日韩在线| 91高清免费视频| 国产成人精品a视频一区www| 亚洲精品乱码久久久久久按摩观| 精品成人69xx.xyz| 国产剧情日韩欧美| 一区二区三区回区在观看免费视频| 亚洲精品国精品久久99热| 亚洲人成啪啪网站| 午夜精品三级视频福利| 国内外成人免费激情在线视频网站| 国产精品视频播放| 国产激情久久久久| 久久亚洲一区二区三区四区五区高| 国产精品久久视频| 日韩黄色高清视频| 国产精品九九九| 最近2019免费中文字幕视频三| 亚洲影视中文字幕| 久久久精品久久久| 国产专区欧美专区| 亚洲高清福利视频| 亚洲欧美三级在线| 久久久成人av| 亚洲欧美一区二区三区情侣bbw| 亚洲国产欧美一区二区丝袜黑人| 狠狠躁天天躁日日躁欧美| 亚洲**2019国产| 久久偷看各类女兵18女厕嘘嘘| 中文字幕国产精品| 国产精品一区久久久| 成人亚洲综合色就1024| 在线观看欧美日韩| 日韩亚洲欧美中文高清在线| 国产精品69精品一区二区三区| 中文字幕在线国产精品| 精品久久久在线观看| 91久久久久久久久久久久久| 久久久久久久久久久网站| 国产精品激情av在线播放| 成人免费视频网址| 精品综合久久久久久97| 中文字幕日韩在线播放| 91久久综合亚洲鲁鲁五月天| 91亚洲国产成人精品性色| 国产精品美乳一区二区免费| 高清在线视频日韩欧美| 久久精品久久久久| 欧美裸体视频网站| 欧美猛少妇色xxxxx|