php专区

 首页 > php专区 > PHP应用 > 常用功能 > php中SimpleXML生成与解析xml文件 - php高级应用

php中SimpleXML生成与解析xml文件 - php高级应用

分享到:
【字体:
导读:
          在php中对xml文档操作我们有很多类可以使用,php SimpleXML就是一个很不错的xml解析器,下面我来给大家举两个应用实例.例,生成xml文档,代码如下:classSimpleXMLExtendedextendsSimpleXMLElement{pub......

php中SimpleXML生成与解析xml文件

在php中对xml文档操作我们有很多类可以使用,php SimpleXML就是一个很不错的xml解析器,下面我来给大家举两个应用实例.

例,生成xml文档,代码如下:

  1. class SimpleXMLExtended extends SimpleXMLElement {  
  2.   public function addCData($cdata_text) {  
  3.     $node = dom_import_simplexml($this);  
  4.     $no   = $node->ownerDocument;  
  5.     $node->appendChild($no->createCDATASection($cdata_text));  
  6.     }  
  7.   }  
  8. function array2xml($array$xml = false){  
  9.     if($xml === false){  
  10.         $xml = new SimpleXMLExtended('');  
  11.     }  
  12.     foreach($array as $key => $value){  
  13.         if(is_array($value)){  
  14.             array2xml($value$xml->addChild($key));  
  15.         }else{  
  16.             //如果包含汉字,转编码  
  17.             if (preg_match("/([x81-xfe][x40-xfe])/"$value$match)) {  
  18.                 $value = iconv('gbk''utf-8'$value);  
  19.             }  
  20.             $xml->$key = NULL; // VERY IMPORTANT! We need a node where to append  
  21.             $xml->$key->addCData($value);  
  22.             //$xml->$key->addAttribute('lang', 'en');  
  23.            // $xml->addChild($key, $value);  
  24.         }  
  25.     } //开源代码phpfensi.com 
  26.     return $xml->asXML();  

例,SimpleXMLElement解析xml,代码如下:

  1. $content = <<
  2. "1.0" encoding="UTF-8"?> 
  3.  
  4.   
  5.   HTTP 
  6.   80 
  7.   /index.html 
  8.   5000 
  9.   3000 
  10.   2 
  11.   3 
  12.   
  13.   
  14.   "192.168.234.121"/> 
  15.   "192.168.234.28"/> 
  16.   
  17.  
  18. XML; 
  19.  
  20. $test = new SimpleXMLElement($content); 
  21.  
  22. //获得ping_protocol的值 
  23. $ping_protocol = $test->global_setting->ping_protocol; 
  24. echo "ping_protocol : $ping_protocol n"
  25. //开源代码phpfensi.com 
  26. //打印出所有instance的IP 
  27. foreach ( $test->instances->instance as $instance) { 
  28.  echo "IP: {$instance['ip']} n" ; 
分享到:
PHP操作XML的知识点记录DOMDocument - ph...
PHP操作XML的知识点记录DOMDocument 在php应用中PHP操作XML是常常要用到的,在php中操作xml文档有很多种方法,如DOMDocument就是一个对xml解析,读写,增加,删除的好工具了,下面我来分享一下我对php xml理解与学习笔记吧. 1、XML文件内容,代码如下:                  ...
php中simplexml_load_string使用实例 - p...
php中simplexml_load_string使用实例 在php中simplexml_load_string() 函数把 XML 字符串载入对象中,下面我来给大家介绍几个简单实例的同时也介绍在使用simplexml_load_string的一些需要注意的事项. 先用一段代码重现一下问题,乍一看,结果很让人费解,代码如下:     SimpleXMLElem...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……