zoukankan      html  css  js  c++  java
  • php xml 的基本操作类

    class xmlMessage{
        protected $doc;
        protected $rootKey;
        public function  __construct() {
    	    $this->doc = new DOMDocument('1.0', 'utf-8');
    	    $this->doc -> formatOutput = true;
    	    $status = $this->doc -> createElement('status');//create new key
    	    $this->rootKey = $status;
    	    $this->doc->appendChild($status);
        }
        public function createSon($sonName, $value){
    	$this->deleteChild($sonName);
    	$sonKey = $this->doc -> createElement($sonName);//新建节点
    	$content = $this->doc -> createTextNode($value);//节点值
    	$sonKey -> appendChild($content);
    	$this->rootKey->appendChild($sonKey);
        }
        public function appendNodeValue($tagName, $appendValue){
    	if(!$this->hasNodeName($tagName)){
    	    $this->createSon($tagName, '');
    	}
    	$this->rootKey->getElementsByTagName($tagName)->item(0)->nodeValue .= "\n".$appendValue;
        }
        public function editNodevalue($tagName, $value){
    	if(!$this->hasNodeName($tagName)){
    	    $this->createSon($tagName, '');
    	}
    	$this->rootKey->getElementsByTagName($tagName)->item(0)->nodeValue = $value;
        }
        public function deleteChild($tagName){
    	if($this->hasNodeName($tagName))
    	    $this->rootKey -> removeChild($this->rootKey->getElementsByTagName($tagName)->item(0));
        }
        private function hasNodeName($tagName){
    	$hasNode = false;
    	$tempList = $this->doc->getElementsByTagName($tagName);
    	foreach($tempList as $temp){
    	    if($temp->nodeName == $tagName)
    		$hasNode = true;
    	}
    	return $hasNode;
        }
        public function setNodesByArray($xmlArray){
    	$now = getdate(time());
    	$dataCreated = $now['year'].'/'.$now['mon'].'/'.$now['mday'].' '.$now['hours'].':'.$now['minutes'].':'.$now['seconds'];
    	$this->createSon('language', strtolower($xmlArray['basicInfo']['language']));
    	$this->createSon('source', $xmlArray['basicInfo']['source']);
    	$this->createSon('resumeUrl', $xmlArray['basicInfo']['resumeUrl']);
    	$this->createSon('email', $xmlArray['basicInfo']['email']);
    	$this->createSon('resumeGuid', $xmlArray['basicInfo']['resumeGuid']);
    	$this->createSon('dateCreated', $dataCreated);
    	$this->createSon('success','TRUE');
        }
        public function getXML(){
    	return $this->doc->saveXML();
        }
    }
    
  • 相关阅读:
    NodeJs 的Module.export 和 export
    Angular 调试
    设计模式 -- 访问者
    typescript 枚举
    Swagger 实践 <二>
    eventFlow 系列 <三> 查询所有
    成员变量的隐藏和方法的重写
    Facetoprocess_program_design
    ATM_tests
    transmission protocol
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/1951243.html
Copyright © 2011-2022 走看看