<?php
header('content-type:text/html;charset=utf-8');
class Xml {
/*增*/
function insert($xml,$data,$dataparent) {
$dom = new DOMDOcument('1.0', 'utf-8');
//把文件加载都内存里
$dom -> load($xml);
//创建节点
$goods_name = $dom -> createElement($data['goods_name'], $data['goods_namevalue']);
$goods_sn = $dom -> createElement($data['goods_sn'], $data['goods_snvalue']);
//创建父节点
$goods = $dom -> createElement($dataparent);
//把创建的节点放到父节点下
$goods -> appendchild($goods_name);
$goods -> appendchild($goods_sn);
//增加的根节点上
$document = $dom -> documentElement;
$document -> appendChild($goods);
//保存文件
$dom -> save($xml);
}
/*删除*/
function delete($xml,$xmlname,$goods,$num) {
$dom = new DOMDOcument('1.0', 'utf-8');
//把文件加载都内存里
$dom -> load($xml);
//找到删除的节点
$goods = $dom -> getElementsByTagName($xmlname) -> item($num);
//找的删除的父节点
$document = $dom -> documentElement;
//删除节点
$document -> removeChild($goods);
//保存文件
$dom -> save($xml);
}
/*改*/
function save($xml,$creatxml,$createvalue,$replace,$parent,$num) {
$dom = new DOMDOcument('1.0', 'utf-8');
//把文件加载都内存里
$dom -> load($xml);
//创建新节点
$new = $dom -> createElement($creatxml, $createvalue);
//找到替换的节点
$old = $dom -> getElementsByTagName($replace) -> item($num);
//替换节点
$parent = $dom -> getElementsByTagName($parent) -> item($num);
//替换
$parent -> replaceChild($new, $old);
//保存文件
$dom -> save($xml);
}
/*查*/
function select($xml,$xmlname,$num) {
$dom = new DOMDOcument('1.0', 'utf-8');
//把文件加载都内存里
$dom -> load($xml);
//找到元素的节点
$goods_name = $dom -> getElementsByTagName($xmlname);
//获取相应的节点值
echo $goods_name -> item($num) -> nodeValue;
}
/*操作属性*/
function attr($xml,$xmlname,$attr,$arrtvalue,$num) {
$dom = new DOMDOcument('1.0', 'utf-8');
//把文件加载都内存里
$dom -> load($xml);
//找到属性的对应标签
$set = $dom -> getElementsByTagName($xmlname) -> item($num);
//设置属性的值 如果有原来的属性 就直接重新赋值 没有就重新创建
$set -> setAttribute($attr, $arrtvalue);
//保存文件
$dom -> save($xml);
}
}
$xml = new xml();
$xml -> insert('index.xml',array('goods_name'=>'goods_name','goods_namevalue'=>'小米','goods_sn'=>'goods_sn','goods_snvalue'=>'8520'),'content');
$xml -> select('index.xml','goods_name',1);
$xml -> attr('index.xml','goods_name','id','8520',0);
$xml -> delete('index.xml','content','goods',0);
$xml -> save('index.xml','manman', 8520,'goods_name','content',0);
/*
* 经测试没太大的问题 可以直接使用 xml路径记住是相对路径
* */
<img src="https://img-blog.csdn.net/20160908232650112?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<goods>
<content>
<manman>8520</manman>
<goods_sn>771186913</goods_sn>
</content>
<content>
<goods_name id="8520">小米</goods_name>
<goods_sn>771186913</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>771186913</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>771186913</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>8520</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>8520</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>8520</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>8520</goods_sn>
</content>
<content>
<goods_name>小米</goods_name>
<goods_sn>8520</goods_sn>
</content>
</goods>
php操作xml
最新推荐文章于 2024-08-25 14:20:42 发布