DOM方式操作XML
来源:互联网 发布:仓库拣货路线优化 编辑:程序博客网 时间:2024/05/22 07:50
好几天没有写文章了,最近一直在考驾照,还差一个科目四了,所以最近文章更新比较少。趁着放假赶紧更新几篇。今天分享一篇使用DOM
方式操作XML。
1、生成XML:
<?php/** * DOM创建XML文件 * @author webbc *//** * 创建示例 * <?xml version="1.0" encoding="utf-8"?> * <appstore> * <goods goods_id="g001"> * <name>天龙八部</name> * <intro><![DATA[这本书真好]]></intro> * </goods> * </appstore> *///1、创建dom文档对象$dom = new DOMDocument('1.0','utf-8');//2、创建天龙八部文本对象$tl = $dom->createTextNode('天龙八部');//3、创建name节点对象$name = $dom->createElement('name');//4、把天龙文本对象添加到name节点对象中$name->appendChild($tl);//5、创建CDATA节点对象$cdata = $dom->createCDATASection('这本书真好');//6、创建intro节点对象$intro = $dom->createElement('intro');//7、把cdata对象添加到intro节点中$intro->appendChild($cdata);// 8、创建goods节点对象$goods = $dom->createElement('goods');//9、把name和Intro两个节点对象分别添加到goods节点对象中$goods->appendChild($name);$goods->appendChild($intro);//10、创建goods_id属性节点对象$goods_id = $dom->createAttribute('goods_id');$goods_id->value = 'g001';//11、把属性节点对象添加到goods节点对象中$goods->appendChild($goods_id);//12、创建appstore节点对象$appstore = $dom->createElement('appstore');//13、把goods对象添加到appstore对象中$appstore->appendChild($goods);//14、把appstore对象最后添加到文档对象中$dom->appendChild($appstore);//输出到浏览器header("Content-type:text/xml;charset:utf-8");echo $dom->saveXML();//保存成文件//$dom->save('./05.xml');?>
结果:
2、解析XML
题:找出“天龙八部”和“倚天屠龙剑”文本内容
<meta charset="utf-8"/><?php/** * dom解析xml * @author webbc *///1、创建dom文档对象$dom = new DOMDocument('1.0','utf-8');//2、将xml内容加载到该对象中$dom->load('./04.xml');//3、找出title节点,得到节点列表对象$titleList = $dom->getElementsByTagName("title");//4、然后根据节点列表对象的item方法来获取节点对象$title0 = $titleList->item(0);//5、找出该title节点的子节点,得到节点列表对象$childList = $title0->childNodes;//6、然后根据节点列表对象的item方法来获取节点对象,这里获取的是文本节点对象echo $childList->item(0)->wholeText;//找出“天龙八部”echo "<br/>";echo $dom->getElementsByTagName("title")->item(1)->childNodes->item(0)->wholeText;//找出“倚天屠龙剑”echo "<br/>";print_r($dom->getElementsByTagName("title")->item(1)->nodeValue);//找出“倚天屠龙剑”?>
结果:
3、XML节点的删与改
<?php/** * XML节点的删与改 * @author webbc *///删除“天龙八部”节点,只能父节点删除自身的子节点$dom = new DomDocument('1.0','utf-8');$dom->load('./04.xml');$bookList = $dom->getElementsByTagName('book');$bookList->item(0)->parentNode->removeChild($bookList->item(0));header('Content-type:text/xml;charset=utf-8');// echo $dom->saveXML();//修改节点,只能采取替换节点的方式来修改节点,只能父节点来替换自身的子节点,把“倚天屠龙记”文本节点替换成“鹿鼎记”文本节点$title = $dom->getElementsByTagName('title')->item(0);$tl = $dom->createTextNode('鹿鼎记');$title->replaceChild($tl,$title->firstChild);header('Content-type:text/xml;charset=utf-8');echo $dom->saveXML();?>
0 0
- DOM方式操作XML
- java操作xml文档(一) DOM方式
- JAXP----DOM方式操作XML文档
- xerces-c用DOM方式操作xml
- qt xml之DOM方式来操作XML文档
- java28.XML操作------DOM方式解析XML数据
- java29.XML操作------使用java DOM方式创建XML数据
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J
- c# 通过DOM方式对xml的操作
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J
- Java四种方式操作 xml,DOM|SAX|JDOM|DOM4J
- Java四种方式操作 xml,DOM|SAX|JDOM|DOM4J
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J
- dom解析方式对xml文档进行操作
- jaxp解析器用dom方式操作xml文档的总结
- jaxp解析器用dom方式操作xml文档的总结
- Java操作XML的五种方式之DOM
- DOM方式读写XML
- JavaEE环境配置
- 活动与服务间通信
- 智慧北京:引导页面静态点的添加
- 啊哈算法搜索应用之宝岛探险(BFS和DFS)
- Java学习:英雄对决总结—英雄选择
- DOM方式操作XML
- open binder
- 二叉树的遍历本质剖析
- 136. Single Number
- Linux第四课
- 剑指offer:数组中出现次数超过一半的数字(java)
- linux文件操作(一)
- 注意啦!10 个你需要了解的 Linux 网络和监控命令
- 商城之主页商品分类重构