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();
    }
}
原文地址:https://www.cnblogs.com/zcy_soft/p/1951243.html