php对xml文件的增删改查

时间:2021-09-10 20:12:05

源文件
<?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文件
     }