PHP实现对xml进行简单的增删改查(CRUD)操作示例

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP实现对xml进行简单的增删改查(CRUD)操作。分享给大家供大家参考,具体如下:

假如有下面xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<setting>
  <preferTime>55.8</preferTime>
  <playerValue>56</playerValue>
  <reduceValue>40</reduceValue>
  <reduceTime>339</reduceTime>
</setting>

如何使用php对它进行CRUD?其实像这种简单的xml文件使用SimpleXMl再好不过了。你可以像这样来操作它:

<?php
//获取数据 get the config data
if(isset($_GET["type"])){
  if($_GET["type"]=="get"){
    $xml=simplexml_load_file("../config.xml");
    $config=array("preferTime"=>$xml->preferTime."",
             "playerValue"=>$xml->playerValue."",
             "reduceValue"=>$xml->reduceValue."",
             "reduceTime"=>$xml->reduceTime."");
    echo json_encode($config);
  }
  //更新数据 update the config data
  if($_GET["type"]=="update"){
    $xml=simplexml_load_file("../config.xml");
    $xml->preferTime=$_GET["data"]["preferTime"];
    $xml->playerValue=$_GET["data"]["playerValue"];
    $xml->reduceValue=$_GET["data"]["reduceValue"];
    $xml->reduceTime=$_GET["data"]["reduceTime"];
    $xml->asXML("../config.xml");
    echo json_encode("save success!");
  }
}

更多详情可参考PHP官方usage examples  和 API description .

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入门之xml标签的属性分析

php操作xml入门之xml标签的属性分析

本文实例讲述了php操作xml入门之xml标签的属性。分享给大家供大家参考。具体分析如下: 复制代码 代码如下:<?xml version="1.0" encoding="...

php可扩展的验证类实例(可对邮件、手机号、URL等验证)

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

PHP连续签到功能实现方法详解

本文实例讲述了PHP连续签到功能实现方法。分享给大家供大家参考,具体如下: require "./global.php"; $act = isset($_GET['act'])...

PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析

本文分析了PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别。分享给大家供大家参考,具体如下: $_POST:通过 HTTP POST 方法传递的变...

ob_start(),ob_start('ob_gzhandler')使用

输出前使用尽量使用 ob_start();可以加快输出速度,适用NT 对unix类服务器 如果使用ob_start('ob_gzhandler');输出效率将更高...