当前位置:首页 > PHP教程 > php应用 > 列表

PHP中DOMDocument生成与解析XML格式数据

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-20 13:58:47 浏览: 评论:0 

DOMDocument这个功能是我们php中自带的一个功能,下面我来介绍利用DOMDocument生成xml文档,并且也介绍DOMDocument解析xml文件的方法,有需要的朋友可参考.

数组实例代码如下:

  1. $arr[] = array
  2.  
  3. 'name' => $row['name'], 
  4.  
  5. 'sex' => $row['sex'], 
  6.  
  7. 'age' => $row['age'
  8.  
  9. ); 

生成php,代码如下:

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

这样就生成了一个xml文件了.

解析xml文件也是非常的简单了,代码如下:

  1. header("Content-type:text/html; Charset=utf-8"); 
  2.  
  3. $url = "createXML.php"
  4.  
  5. $reader = new XMLReader(); //实例化XMLReader 
  6.  
  7. $reader->open($url); //获取xml 
  8.  
  9. $i=1; 
  10.  
  11. while ($reader->read()) { 
  12.  
  13. if ($reader->nodeType == XMLReader::TEXT) { //判断node类型 
  14.  
  15. $m = $i%3; 
  16.  
  17. if($m==1) 
  18.  
  19. $name = $reader->value; //读取node值 
  20.  
  21. if($m==2) 
  22.  
  23. $sex = $reader->value; 
  24.  
  25. if($m==0){ 
  26.  
  27. $age = $reader->value; 
  28.  
  29. $arr[] = array
  30.  
  31. 'name' => $name
  32.  
  33. 'sex' => $sex
  34.  
  35. 'age' => $age 
  36.  
  37. ); 
  38.  
  39.  
  40. $i++; 
  41.  
  42.  
  43.  
  44. //print_r($arr); 

Tags: DOMDocument生成 XML格式数据

分享到: