php xml 的基本操作类
2024-08-30 13:30:04
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();
}
}
最新文章
- C# xpath
- IN31志愿者“孝行天下,感恩父母”晚会
- 分析system_call中断处理过程
- C#开发MySQL数据库程序时需要注意的几点
- Asp.net Session保存到Redis: 使用 RedisSessionStateProvider
- 对sizeof的思考
- ARM-Linux S5PV210 UART驱动(3)----串口核心层、关键结构体、接口关系
- bzoj3028食物
- js+图片实现图片flash效果
- iOS学习心得——UITableViewCell的复用
- Azure 网站和通配符域
- Windows Azure 社区新闻综述(#75 版)
- linux下C语言中的flock函数使用方法 .
- ios7 实现应用内保真截屏
- 实现验证码图像文字的识别(C#调用DLL)
- 报表平台对CRM系统价值几何
- JsonConvert.DeserializeObject反序列化
- leetcode感想
- shell丢弃信息
- java访问mysql数据库