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可扩展的验证类实例(可对邮件、手机号、URL等验证)

本文实例讲述了php可扩展的验证类。分享给大家供大家参考。具体分析如下: 这里介绍一个可扩展的php验证类, 类里面可以的各类验证可自行调整实现,现在为基本实现方式。 需要添加规则的话,...

解析zend Framework如何自动加载类

1.模块中类的自动载入复制代码 代码如下:$loader = new Zend_Application_Module_Autoloader(array(   //模块...

PHP模拟http请求的方法详解

本文实例讲述了PHP模拟http请求的方法。分享给大家供大家参考,具体如下: 方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作。 建立两个文件post.php...

PHP5中的时间相差8小时的解决办法

方法1:        找到php.ini中的“;date.timezone =”这行,将“;”去掉,改成...

Swoole 1.10.0新版本发布,增加了多项新特性

前言 Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 作为网络通信框架,可以使企业 I...