[php] php操作xml
xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<item id="Title" aa="ddd"><![CDATA[Discuz! Style]]></item>
<item id="Data" aa="ddd">
<item id="name" aa="ddd"><![CDATA[默认风格]]></item>
<item id="templateid" aa="ddd"><![CDATA[]]></item>
<item id="tplname" aa="ddd"><![CDATA[默认模板套系]]></item>
<item id="directory" aa="ddd"><![CDATA[./template/default]]></item>
<item id="copyright" aa="ddd"><![CDATA[康盛创想(北京)科技有限公司]]></item>
<item id="style" aa="ddd">
<item id="smfont" aa="ddd"><![CDATA[Arial]]></item>
<item id="threadtitlefontsize" aa="ddd"><![CDATA[14px]]></item>
<item id="threadtitlefont" aa="ddd"><![CDATA[Tahoma,'Microsoft Yahei','Simsun']]></item>
<item id="smfontsize" aa="ddd"><![CDATA[0.83em]]></item>
<item id="tabletext" aa="ddd"><![CDATA[#444]]></item>
<item id="midtext" aa="ddd"><![CDATA[#666]]></item>
<item id="lighttext" aa="ddd"><![CDATA[#999]]></item>
<item id="link" aa="ddd"><![CDATA[#333]]></item>
<item id="highlightlink" aa="ddd"><![CDATA[#369]]></item>
<item id="noticetext" aa="ddd"><![CDATA[#F26C4F]]></item>
<item id="bgcolor" aa="ddd"><![CDATA[#FFF background.png repeat-x 0 0]]></item>
<item id="msgfontsize" aa="ddd"><![CDATA[14px]]></item>
<item id="sidebgcolor" aa="ddd"><![CDATA[ vlineb.png repeat-y 0 0]]></item>
<item id="headerborder" aa="ddd"><![CDATA[]]></item>
<item id="headerbgcolor" aa="ddd"><![CDATA[]]></item>
<item id="inputborderdarkcolor" aa="ddd"><![CDATA[#848484]]></item>
<item id="stypeid" aa="ddd"><![CDATA[]]></item>
<item id="inputbg" aa="ddd"><![CDATA[#FFF]]></item>
<item id="commonborder" aa="ddd"><![CDATA[#CDCDCD]]></item>
<item id="commonbg" aa="ddd"><![CDATA[#F2F2F2]]></item>
<item id="specialborder" aa="ddd"><![CDATA[#C2D5E3]]></item>
<item id="specialbg" aa="ddd"><![CDATA[#E5EDF2]]></item>
<item id="dropmenuborder" aa="ddd"><![CDATA[#DDD]]></item>
<item id="floatmaskbgcolor" aa="ddd"><![CDATA[#000]]></item>
<item id="dropmenubgcolor" aa="ddd"><![CDATA[#FEFEFE]]></item>
<item id="floatbgcolor" aa="ddd"><![CDATA[#FFF]]></item>
<item id="lightlink" aa="ddd"><![CDATA[#FFF]]></item>
<item id="menuhoverbgcolor" aa="ddd"><![CDATA[#005AB4 nv_a.png no-repeat 50% -33px]]></item>
<item id="titlebgcolor" aa="ddd"><![CDATA[#E5EDF2 titlebg.png repeat-x 0 0]]></item>
<item id="fontsize" aa="ddd"><![CDATA[12px/1.5]]></item>
<item id="font" aa="ddd"><![CDATA[Tahoma,'Microsoft Yahei','Simsun']]></item>
<item id="styleimgdir" aa="ddd"><![CDATA[]]></item>
<item id="imgdir" aa="ddd"><![CDATA[]]></item>
<item id="boardimg" aa="ddd"><![CDATA[logo.png]]></item>
<item id="available" aa="ddd"><![CDATA[]]></item>
<item id="headertext" aa="ddd"><![CDATA[#444]]></item>
<item id="footertext" aa="ddd"><![CDATA[#666]]></item>
<item id="menubgcolor" aa="ddd"><![CDATA[#2B7ACD nv.png no-repeat 0 0]]></item>
<item id="menutext" aa="ddd"><![CDATA[#FFF]]></item>
<item id="menuhovertext" aa="ddd"><![CDATA[#FFF]]></item>
<item id="wrapbg" aa="ddd"><![CDATA[#FFF]]></item>
<item id="wrapbordercolor" aa="ddd"><![CDATA[#CCC]]></item>
<item id="contentwidth" aa="ddd"><![CDATA[630px]]></item>
<item id="contentseparate" aa="ddd"><![CDATA[#C2D5E3]]></item>
<item id="inputborder" aa="ddd"><![CDATA[#E0E0E0]]></item>
</item>
<item id="version" aa="ddd"><![CDATA[X3.1]]></item>
</item>
</root>
1.DOMDocument方法
$xml=new DOMDocument();
$xml->load($file);
//读出item节点
$item=$xml->getElementsByTagName("item");
2.节点的属性增删改操作
$xml=new DOMDocument();
$xml->load($file);
$item=$xml->getElementsByTagName("item");
foreach ($item as $key=>$v){
echo $v->getAttribute("id");//获取属性为id的值
$v->setAttribute("aa",'ddd');//增加一个新的属性aa
$v->removeAttribute("aa");//删除属性 }
3.节点的增删改
$xml=new DOMDocument();
$xml->load($file);
$node=$xml->documentElement;
// 添加节点
$root=$xml->getElementsByTagName('root')->item(0);//获得根节点
$elem=$xml->createElement("aa","dddd");//添加aa 节点
$elem_attr=$xml->createAttribute("test");//添加属性
$elem_attr->value="aaaa";//设置属性的值
$elem->appendChild($elem_attr);//添加到节点下
$root->appendChild($elem);//将aa 添加到根节点下
//删除节点
$node=$xml->documentElement;
$item=$xml->getElementsByTagName("item")->item(0);
$node->removeChild($item);//删掉第一个节点
[php] php操作xml的更多相关文章
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- php中通过DOM操作XML
DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...
- 使用dom4j操作XML
DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...
- 使用JDOM操作XML
JDOM介绍 JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点. JDOM的使用 首先下载JDOM的JAR包,本文使用的是j ...
- php : DOM 操作 XML
DOM 操作 XML 基本用法 XML文件: person.XML <?xml version="1.0" encoding="utf-8" ?> ...
- Strus2第一次课:dom4j操作xml
先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...
- .NET 操作XML
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
- php操作xml
最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星期的基本语法后做些小练习热热身,但是期间是各种问题啊,主要是对php不熟悉, ...
- JavaScript操作XML
JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...
- C#操作XML方法集合
一 前言 先来了解下操作XML所涉及到的几个类及之间的关系 如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家 * 1 XMLElement 主要是针对节点的一些属性进行操 ...
随机推荐
- python之金融与量化分析
一.金融 二.ipython 基础功能 ipython 快捷键
- vue项目中关于axios的简单使用
axios介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 官方仓库:https://github.com/axios/axios 中文文档:htt ...
- Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置
一.准备工作 安装包链接: https://pan.baidu.com/s/1i6oNmOd 密码: i6nc 环境准备 修改hostname: $ sudo vi /etc/hostname why ...
- 21_python集合总结
集合 1.无序的:没有索引,不能改和删出某个元素,不能返回某个索引元素2.不可重复 : 可以利用set去重3.数学运算:交集.并集.差集,反交集,超集/子集4.里面的元素:必须是可哈希的,不可变的.他 ...
- linux下硬盘uuid查看及修改设置
查看硬盘UUID 方法一:ls -l /dev/disk/by-uuid方法二:blkid /dev/sdb1 修改硬盘UUID: uuidgen 会返回一个合法的 uuid,结合 tune2fs 可 ...
- Windows远程桌面卡的解决办法
Windows远程桌面卡的解决办法 如果在网络没有什么大问题的情况下,可以尝试以下操作. 1.显示中颜色选择 增强色15位 2.体验中 设置成下图的样子 然后在尝试连接试试有没有好点
- Springboot security cas源码陶冶-ExceptionTranslationFilter
拦截关键的两个异常,对异常进行处理.主要应用异常则跳转至cas服务端登录页面 ExceptionTranslationFilter#doFilter-逻辑入口 具体操作逻辑如下 public void ...
- [测试]java IO写入文件效率——几种方法比较
各类写入方法 /** *1 按字节写入 FileOutputStream * * @param count 写入循环次数 * @param str 写入字符串 */ public void outpu ...
- Laravel (5.5.33) 加载过程---instance方法(二)
在bootstrap/app.php /** * 对于其中的instance register singleton 方法到时候单独拎出来说明 * * 1.设置基础路径 * 2.使用instance 方 ...
- 深入JavaScript类型判定
JavaScript的数据类型 基本区分方法 ECMAScript标准定义了7种数据类型 6 种 基本类型: Boolean,两种取值:true和false Null,一种取值:null Undefi ...