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();
}
}
php xml 的基本操作类的更多相关文章
- 让Visual Studio 2013为你自动生成XML反序列化的类
Visual Sutdio 2013增加了许多新功能,其中很多都直接提高了对代码编辑的便利性.如: 1. 在代码编辑界面的右侧滚动条上显示不同颜色的标签,让开发人员可以对所编辑文档的修改.查找.定位情 ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- c# XML和实体类之间相互转换(序列化和反序列化)[砖]
link: http://blog.okbase.net/haobao/archive/62.html by: 好饱 我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlU ...
- C# XML和实体类之间相互转换(序列化和反序列化)
我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Ge ...
- 自动生成XML反序列化的类
原文地址:http://www.cnblogs.com/jaxu/p/3632077.html Visual Sutdio 2013增加了许多新功能,其中很多都直接提高了对代码编辑的便利性.如: ...
- Xml通用操作类
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml ...
- 利用MyEclipse连接数据库并自动生成基于注解或者XML的实体类
一.利用MyEclipse连接数据库 1. 打开MyEclipse的数据库连接视图 然后在Other中找到"MyEclipse Database"中的DB Browser 2. 在 ...
- XML和实体类之间相互转换(序列化和反序列化)
我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- 转载 VC轻松解析XML文件 - CMarkup类的使用方法
VC轻松解析XML文件 - CMarkup类的使用方法http://www.cctry.com/thread-3866-1-1.html VC解析XML文件的工具有很多,CMarkup, tinyXM ...
随机推荐
- Mac Dropbox 文件不显示同步图标 解决
前言 开始时关了这个功能,今天想打开发现怎么也恢复不了. 按照官方教程说的重装也无济于事.最后在官方BBS发现一篇帖子顺利解决了问题 解决方案 这哥们意思是说禁用了一个Finder的插件就好了(有意思 ...
- Kattis - CD
CD Jack and Jill have decided to sell some of their Compact Discs, while they still have some value. ...
- div+css布局自适应小结
一.两栏布局(左定宽,右自动)1. float + margin即固定宽度元素设置float属性为left,自适应元素设置margin属性,margin-left应>=定宽元素宽度.举例: &l ...
- django patch
import datetime import pytz from django.apps import AppConfig from django.db.models.fields import Da ...
- 一些css布局
# css布局 #---bootstrap 详情请看官方文档---首先要按照相应的官方规范引入相应的css js fonts等 container相当于一个容器 一般设置一个 接下来设置行 用ro ...
- HDU 5912 Fraction
题目来源:2016 CCPC 长春站 题意:青蛙先生想计算一个式子的值,输入两个数列a[],b[]求出最后的分子和分母 思路:一开始看到这个图片首先想到的是递归实现,递归部分始终计算的是右下部分 /* ...
- python和sudo python 出现no module named XXX
今天使用python执行文件,然而显示权限不够, 但是加上sudo之后,又会显示no module named XXX 问题在于两者python路径中包含的库不同.解决方法: 分别进入两个python ...
- django-10-中间件和上下文管理器
<<<中间件的引入>>> 用户<->中间件<->url->视图 在app目录里面 middleware.py (1)中间件就是一个 ...
- 洛谷P5238 整数校验器
看到没有边读入边处理的,我来水一发 我们要看一下有那些情况是格式不合法的 单独的负号 -0(后面可以有其他数字) 0 +(后面一些数字) 我们用快速读入的方法 读取字符进行处理 还有可能超出范围的 考 ...
- ASP.NET-前台view返回model集合
有时操作列表的时候想一次提交一个model集合,这样后台controller直接接受后就可以直接进行操作了,不用使用js,比较方便,也体现了MVC的Binding模式的优势,方法如下: 准备: 1.两 ...