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截取字符串并保留完整xml标签的函数代码

复制代码 代码如下:<?php      /**      * author: goosman &n...

php cookie 作用范围–不要在当前页面使用你的cookie

因为在本地测试完全没有问题,所以ssh到远程服务器上(不是发布服务器,建议不要直接在Publish Server上直接改东西),进行了一下断点的测试,最后发现是一个比较复杂的逻辑中有个函...

PHP Class SoapClient not found解决方法

要用到 SoapClient, new 了一个提示 Class ‘SoapClient' not found, 检查了下 phpinfo, 原因是当初没有编译这个扩展, 只好现在再加上了...

php初学者写及时补给skype用户充话费的小程序

其实加在一起有几十个,但因为需要操作的数据比较多,就在后面加了一段小程序来解决.可以处理昨天没有处理到的数据,具体如下:复制代码 代码如下:$handle = mysql_connect...

php实现快速排序法函数代码

代码1: 复制代码 代码如下: <?php function quicksort($str){ if(count($str)<=1) return $str;//如果个数不大...