加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

用 PHP5 轻松解析 XML

发布时间:2020-03-20 07:45:23 所属栏目:PHP教程 来源:互联网
导读:用 PHP5 轻松解析 XML

         {
             $tag = $this->currentNO->getSeq();
             $this->currentNO  = $this->currentNO->getPNodeObject();
             if($this->currentAttribute!=null && sizeof($this->currentAttribute)>0)
             $this->currentNO->setValue($name, array('value'=>$this->currentValue, 'attrs'=>$this->currentAttribute));
             else
             $this->currentNO->setValue($name, $this->currentValue);

             $this->currentNO->removeNode($tag);
         }
         else
         {
             $this->currentNO = (is_a($this->currentNO, 'SimpleDocumentRoot'))?   null:
             $this->currentNO->getPNodeObject();
         }
     }

     private function characterData($parser,  $data)
     {
         $this->currentValue = iconv('UTF-8', 'GB2312', $data);
     }


     function __destruct()
     {
         unset($this->domRootObject);
     }

 }
?>

 

文件:SimpleDocumentBase.php

 

<?php
/**
 *=================================================
 *
 * @author     hahawen(大龄青年) 
 * @since      2004-12-04
 * @copyright  Copyright (c) 2004, NxCoder Group
 *
 *=================================================
 */
 /**
 * abstract class SimpleDocumentBase
 * base class for xml file parse
 * all this pachage's is work for xml file, and method is action as DOM.
 *
 * 1 add/update/remove data of xml file.
 * 2 explode data to array.
 * 3 rebuild xml file
 *
 * @package SmartWeb.common.xml
 * @abstract
 * @version 1.0
 */
 abstract class SimpleDocumentBase
 {

     private $nodeTag = null;

     private $attributes = array();
     private $values =
     array();

     private $nodes = array();

     function __construct($nodeTag)
     {
         $this->nodeTag = $nodeTag;
     }

     public function getNodeTag()
     {
         return $this->nodeTag;
     }

     public function setValues($values){
         $this->values = $values;
     }

     public function setValue($name, $value)
     {
         $this->values[$name] = $value;
     }

     public function getValue($name=null)
     {
         return $name==null?
         $this->values: $this->values[$name];
     }

 

     public function removeValue($name)
     {
         unset($this->values["$name"]);
     }

     public function setAttributes($attributes){
         $this->attributes = $attributes;
     }

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读