php对xml文件的增删改查操作实现方法分析

yipeiwu_com6年前PHP代码库

本文实例讲述了php对xml文件的增删改查操作实现方法。分享给大家供大家参考,具体如下:

xml源文件

<?xml version="1.0" encoding="utf-8"?>
<root>
 <endTime>2016-08-01</endTime>
 <content>文件内容</content>
</root>

$file='callBoard.xml';

查询xml:

$doc=new DOMDocument();//实例化对像
$doc->load($file);//载入文件
$data=array();
$time=$doc->getElementsByTagName("endTime");//获取元素是title
$dateTime=$time->item(0)->nodeValue;//对指定元素获取值
$content=$doc->getElementsByTagName("content");//获取元素是title
$dataContent=$content->item(0)->nodeValue;//对指定元素获取值

更新和创建:

if(file_exists($file))//判断文件是否存在
{
   //如果存在就更新内容
   $doc=new DOMDocument();//实例化对像
   $doc->load($file);//载入文件
   $resultDate=$doc->getElementsByTagName("endTime");//获取元素是dateNumber
   $resultDate->item(0)->nodeValue=$_POST['time'];//对指定元素赋值
   $resultBall1=$doc->getElementsByTagName("content");//获取元素是ball1
   $resultBall1->item(0)->nodeValue=$_POST['content'];//对指定元素赋值
   $doc->save($file);//当有用到修改时才用此方法
}
else
{
   //如果不存在就创建文件
   $doc=new DOMDocument('1.0','utf-8');//申明是XML
   $doc->formatOutput=true;//格式输出
   $root=$doc->createElement('root');//创建根元素
   $endTime=$doc->createElement("endTime",$_POST['time']);//创建元素dateNumber 并赋值$arr['resultDate']内容
   $content=$doc->createElement("content",$_POST['content']);//创建元素ball1 并赋值$arr['resultBall1']内容
   $root->appendChild($endTime);//$content元素包含$dateNumber元素
   $root->appendChild($content);//$content元素包含$ball1元素
   $doc->appendChild($root);//结束建立根元索
   $doc->save($file);//生成xml.xml文件
}

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP设计模式之单例模式定义与用法分析

本文实例分析了PHP设计模式之单例模式。分享给大家供大家参考,具体如下: 单例模式(Singleton Pattern 单件模式或单元素模式),是常见的一种设计模式,它有三个特点...

ajax 的post方法实例(带循环)

ajax 的post方法实例(带循环)

用上循环就是为了在数据发送前进行合理的处理,解决在脚本语言对数据进行另外需求处理时出现的超时现象。处于对ajax认识未深,如有说得不对或不到位的,还请指教。     ajax中的po...

php header功能的使用

header() 函数向客户端发送原始的 HTTP 报头。复制代码 代码如下:<?php//200 正常状态header('HTTP/1.1 200 OK');// 301 永久重...

解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思

PHP现在推出5.3.0版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。首先我来解答: VC6是什么?VC6就是legacy Visual Studio...

PHP连接SQLServer2005 的问题解决方法

后来火了,在虚拟机装上WIN2003一试,加载MSSQL模块是没问题了,但是用mssql_connect("localhost", "sa", "");却怎么也连不上数据库,后来上网查了...