最简单的xml操作方式!
2012-09-12 09:46
260 查看
$file='test.xml'; if(!file_exists($file)){ file_put_contents($file,'<?xml version="1.0" encoding="utf-8"?><result/>'); } $xml = simplexml_load_file($file); $lottery = $xml->addChild('lottery','http://www.178cpw.com');//增加节点lottery 并给节点加内容 $lottery['name'] = '双色球';//给节点属性赋值 $lottery['name2'] = '大乐透'; $lottery['name3'] = '十一运夺金'; $xml->asXML($file); /** * 判断属性在xml是否存在,如果存在返回节点,不存在返回false */ function hasLotteryType($name, $xml) { $bool = false; foreach ($data as $k => $v) { if ($v['name'] == $name) { $bool = $v; break; } } return $bool; }
/**
* 生成所有开奖XML
* @param string $sign 彩票标识
* @param string $issue 开奖期号
* @param datetime $time 开奖时间
* @param string $code 开奖号码
* @param string $ball 出球顺序/试机号
*/
function set_all_xml($sign,$issue,$time,$code,$ball = '') {
if(empty($sign) || empty($issue) || empty($time) || (empty($code) && empty($ball))) return false;
$file = 'file.xml';
if (!file_exists($file) || filesize($file) <= 0) {
file_put_contents($file,'<?xml version="1.0" encoding="gbk"?><caipiao></caipiao>');
}
$DOM = new DOMDocument('1.0','gbk');
$DOM->load($file);
$root = $DOM->documentElement;
$first = $root->firstChild;
if (empty($first) || $first->getAttribute('qishu') < $issue) {
$index = $DOM->createElement('index');
addAttribute($DOM, $index, 'qishu', $issue);
addAttribute($DOM, $index, 'date', $time);
addAttribute($DOM, $index, 'code', $code);
switch($sign){
case 'ssq':
case 'qlc':
case '15x5':
case 'cjdlt':
case '22x5':
addAttribute($DOM, $index, 'codeOrder', $ball);
break;
case 'f3d':
addAttribute($DOM, $index, 'sjh', $ball);
break;
}
$root->insertBefore($index,$first);
return $DOM->save($file) ? true : false;
} else {
return true;
}
}
# 新建节点属性并赋值
function addAttribute($dom, $node, $name, $text) {
$attribute = $dom->createAttribute($name);
$attribute->appendChild($dom->createTextNode($text));
$node->appendChild($attribute);
}
为了再第一个节点之前插入,只能用第二种么
相关文章推荐
- java中四种操作xml方式的比较以及四种方法的简单例子
- PHP SimpleXML(操作xml的简单方式)简介和实例化SimpleXMLElement
- 简单的XML文件操作(xml文件生成,节点追加、遍历、修改、删除)
- php对xml进行简单的增删改查(CRUD)操作
- WPF对于xml的简单操作(下下)插入节点并排序
- java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较
- android操作XML的几种方式
- C#操作Xml的两种方式 XPath XmlDocument XmlNodeList
- java中以JDOM4的方式来对xml文件对象进行解析操作
- jaxp解析器用dom方式操作xml文档的总结
- Ajax简单应用示例: XMLHttpRequest对象实例化方式及调用
- 超级实用及简单易懂的操作XML
- 我整理的xml读写操作(sax方式)
- 四种XML操作方式的基本使用方法
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较
- Java se对解析操作xml的支持及简单应用
- java中操作xml的两种方式DOM和SAX比较
- spring框架的学习(四)——Spring的AOP的概述及AOP的操作(基于aspectj的xml方式)
- xml方式---spring的AOP拦截用户操作
- 简单的as3操作xml