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统一页面编码避免乱码问题

页面编码统一 MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。 1、MySQL数据库编码: 建立数据库时指定编码(如gbk_chinese_ci),建立...

上传多个文件的PHP脚本

译者注:本文的原名是《Creating a Multi-File Upload Script in PHP》。我个个觉得这文章...

php实例化一个类的具体方法

类的实例化就是对象。一个类可以分成两个部分,一个是静态描述,就是类里的成员属性。第二个是动态描述,就是类里的成员方法,也就是对象的功能。 声明一个类,可以在class前加一些关键字,如a...

PHP中替换键名的简易方法示例详解

YII框架中封装好了的数据库操作函数,默认输出的时候,将数据库字段名作为数组的键名进行输出,但是有些时候带有键名的数据不能够满足未知情况下的操作,譬如:数据库数据导出为EXCEL等比较非...

PHP内部实现打乱字符串顺序函数str_shuffle的方法

PHP内部实现打乱字符串顺序函数str_shuffle的方法

前言 2019年春节已过,今天是上班第一天,还得翻一翻之前没有看完的PHP源码。 今天聊的是字符串顺序打乱函数str_shuffle。这个函数本身使用频率并不高。但是,其内部实现还是非常...