php xml节点 修改,增加,编辑,删除代码

//-------------------------------------------------------------------------------------

 代码如下 复制代码

function loadfile($file){
  $newfile=new domdocument();
  $newfile->validateonparse=true;
  $newfile->load($file);
 
  return $newfile;
}
function add($file, $parentname, $children){ //增加xml节点
  $xml=loadfile($file);
 
  $id=uniqid('m' . rand(1,5), true);
  $parentnode=$xml->createelement($parentname);
  $parentnode->setattribute('mid', $id);
  foreach($children as $child => $value){
    $childnode=$xml->createelement($child, $value);
    $parentnode->appendchild($childnode);
  }
  $xml->documentelement->appendchild($parentnode);
  $xml->save($file);
  return $id;
}
function delete($file, $id){//删除xml 节点
  $xml=loadfile($file);
  $ids=explode(",", $id);
  foreach ($ids as $oldnodeid){
    $oldnode=$xml->getelementbyid($oldnodeid);
    $parentnode=$oldnode->parentnode;
    $parentnode->removechild($oldnode);
  }
  $xml->save($file);
}
function edit($file, $id, $child, $value){//编辑xml 节点
  $xml=loadfile($file);
 
  $parentnode=$xml->getelementbyid($id);
  $childnode=$parentnode->childnodes->item($child);
  $textnode=$childnode->childnodes->item(0);
  $textnode->nodevalue=$value;
 
  $xml->save($file);
}
function move($file, $moveid, $refid=null){ //移动xml节点
  $xml=loadfile($file);
 
  $movenode=$xml->getelementbyid($moveid);
  $parentnode=$movenode->parentnode;
  if ($refid!=null) {
    $refnode=$xml->getelementbyid($refid);
    if(!$parentnode->issamenode($refnode->parentnode)) return false;
  }
  else $refnode=null;
  $movenode=$parentnode->removechild($movenode);
  $parentnode->insertbefore($movenode,$refnode);
 
  $xml->save($file);
}

时间: 2024-10-14 05:10:05

php xml节点 修改,增加,编辑,删除代码的相关文章

毕业设计做系统的后台,怎么实现前台目录树节点的增加 、删除、修改 、移动,哪位大侠出手救一下

问题描述 毕业设计做系统的后台,怎么实现前台目录树节点的增加.删除.修改.移动,哪位大侠出手救一下 解决方案 解决方案二:TreeNodenewNode;if(!Page.IsPostBack){if(Session["UserLevel"].ToString()=="总经理"){newNode=newTreeNode("撰写决策草案");newNode.NavigateUrl="CD_Add.aspx";this.TreeV

设计-Android studio 在XML布局文件中编辑好代码,为什么Design界面创建的控件会重叠?

问题描述 Android studio 在XML布局文件中编辑好代码,为什么Design界面创建的控件会重叠? 新手表示每次都要在Design界面一个一个拖来调整位置,但看教程上并不需要拖.求各位指点~ 解决方案 应该 是因为你在xml并没有排列好控件的布局,重叠很有可能是你把控件都放在了relativelayout里,relativelayout需要手动设置控件的位置 解决方案二: 尽量不要采取拖动方式,使用代码控制会比较好 解决方案三: 默认是相对布局 相对布局的控件式会重叠的

java对XML文件的解析、节点的增加、删除操作总结_JSP编程

1.java代码: 主要采用dom来进行操作 复制代码 代码如下: package test; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.T

python操作redis示例(新增修改增加减少删除)

下面的示例代码包括2个demo: 一个是对string类型数据进行新增.修改.增加.减少及删除的操作示例: 另一个是对sorted set类型数据进行新增.修改.增加及删除的操作示例. 更多的redis操作命令可以参考附录2. 首先,当然需要安装python的redis库,使用pip命令安装即可: pip install redis   python操作redis示例代码如下: import redis pool = redis.ConnectionPool(host='192.168.1.1'

JAXP Dom 案例 对xml文件进行增加 查找 删除

利用 JAXP 对 XML文件 的处理,把xml当做一个数据库来对待   Student对象定义类 public class Student { private String idcard;//身份证号 private String examid;//准考证号 private String name;//姓名 private String location;//籍贯 private float grade;//成绩 public Student(){} public Student(String

C#删除XML节点

本节通过一个实例介绍如何在程序中删除XML文件中的节点.实例运行结果如图1所示. 程序开发步骤: (1)新建一个网站,其主页默认为Default.aspx. (2)在Default.aspx页面中添加一个Xml控件,用来显示XML文件中的内容,然后添加一个TextBox控件和一个Button控件,分别用来输入要删除的XML节点名和执行删除操作. (3)程序主要代码如下. 当单击[删除]按钮时,程序首先判断TextBox1文本框中内容是否为空,如果不为空,则根据TextBox1文本框中内容在XML

完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看

<% '---------------------------------------------------------------- '程序简介: 完成asp教程语言对xml文档中指定节点文本的增加.删除.修改.查看 '入口参数: 无 '出口参数: 无 '------------------------------------------------ '函数名字:connectxml() '入口参数: filename 需要连接或打开的xml文件名 '出口参数: 无 '返回值 :connec

Linq to XML节点查找删除修改实现代码

本文并不对它的概念进行详细介绍,取而代之的是说说在.Net下怎么去操作XML文件.点一下题外话,XML是标准通用标记语言(SGML)的子集,可以跨平台运行,非常适合Web传输,在不同的编程语言(PHP.Java..Net等)里面都有广泛运用,所以对于XML的操作,将是你必须掌握的一门技术.   下面我们来看看XML文档是长什么样子的,这里将要以下图为例来进行说明.XML可以用来描述数据定义.类型等,它一般是被用作数据存储和数据传输. 图 一   用下面的方法可以生成上面xml的文件,生成一个xm

php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)_php技巧

共分四个文件,分别是创建.增加.删除.修改四个功能,变量都是写死的,改一改用$_POST方式接收就可以用了 //index.php 创建功能 复制代码 代码如下: <?php $xmlpatch = 'index.xml'; $_id = '1'; $_title = 'title1'; $_content = 'content1'; $_author = 'author1'; $_sendtime = 'time1'; $_htmlpatch = '1.html'; jb51.net$doc