php中DOMElement操作xml文档实例演示


Posted in PHP onMarch 26, 2013
<?php 
//Store your html into $html variable. 
$html="<html> 
<head> 
<title>Rakesh Verma</title> 
</head> 
<body> 
<a href='http://example.com'>Example</a> 
<a href='http://google.com'>Google</a> 
<a href='http://www.yahoo.com'>Yahoo</a> 
</body> 
</html>"; 
$dom = new DOMDocument(); 
$dom->loadHTML($html); 
//Evaluate Anchor tag in HTML 
$xpath = new DOMXPath($dom); 
$hrefs = $xpath->evaluate("/html/body//a"); 
for ($i = 0; $i < $hrefs->length; $i++) { 
$href = $hrefs->item($i); 
$url = $href->getAttribute('href'); 
//remove and set target attribute 
$href->removeAttribute('target'); 
$href->setAttribute("target", "_blank"); 
$newURL=$url.".au"; 
//remove and set href attribute 
$href->removeAttribute('href'); 
$href->setAttribute("href", $newURL); 
} 
// save html 
$html=$dom->saveHTML(); 
echo $html; 
?>

例2
/*<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!-- css的样式定义,不加点。如:name{color:red;} --> 
<?xml-stylesheet type="text/css" href="css.css"?> 
<!-- 引入dtd文档定义文件 (根元素:班级)<!DOCTYPE 班级 SYSTEM "class.dtd" /> --> 
<!-- <!DOCTYPE 班级[ 
<!ELEMENT 班级 (学生+)> 
<!ELEMENT 学生 (名字,年龄,介绍)> 
<!ELEMENT 名字 (#PCDATA)> 
<!ELEMENT 年龄 (#PCDATA)> 
<!ELEMENT 介绍 (#PCDATA)> 
] /> --> 
<班级> 
<学生 number="101"> 
<名字>孙悟空</名字> 
<名字>孙行者</名字> 
<年龄>123</年龄> 
<介绍><![CDATA[&*$%特殊字串^&#$&]]></介绍> 
</学生> 
<学生 number="10"2"> 
<名字>白骨精</名字> 
<年龄>140</年龄> 
<介绍>介绍内容</介绍> 
</学生> 
</班级> 
*/ 
$xmldoc = new DOMDocument('1.0', 'UTF-8'); 
$xmldoc->load('datas.xml'); 
$itemsNodeList = $xmldoc->getElementsbyTagName('学生'); 
$itemElement = $itemsNodeList->item(0);//得到第一个完整的学生信息节点 
$itemChildsNodeList = $itemElement->getElementsbyTagName('名字');//得到子节点“名字”,也许有多个名字 
$itemChildNode = $itemChildsNodeList->item(0);//得到第一个名字节点 
echo $itemChildNode->nodeValue;//输出节点值 
//封装成函数 
$nodeArr = array('名字', '年龄', '介绍'); 
function getNodeVal($xmldoc, $itemsName, $nodeArr){ 
$items = $xmldoc->getElementsByTagName($itemsName); 
for($i=0; $i < $items->length; $i++){ 
$item = $items->item($i); 
foreach($nodeArr as $node){ 
$data[$i][] = $item->getElementsByTagName($node)->item(0)->nodeValue; 
} 
} 
return $data; 
} 
$data = getNodeVal($xmldoc, '学生', $nodeArr); 
print_r($data);
PHP 相关文章推荐
如何在PHP中使用Oracle数据库(5)
Oct 09 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
PHP 面向对象 final类与final方法
May 05 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
PHP模块memcached使用指南
Dec 08 PHP
php自定义扩展名获取函数示例
Dec 12 PHP
PHP实现的数独求解问题示例
Apr 18 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 13 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 #PHP
PHP中图片等比缩放的实例
Mar 24 #PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 #PHP
php实现单链表的实例代码
Mar 22 #PHP
php 判断数组是几维数组
Mar 20 #PHP
php页面消耗内存过大的处理办法
Mar 18 #PHP
ajax取消挂起请求的处理方法
Mar 18 #PHP
You might like
PHP学习 运算符与运算符优先级
2008/06/15 PHP
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
php函数的常用方法及注意之处小结
2011/07/10 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
php事件驱动化设计详解
2016/11/10 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
JS回调函数深入理解
2019/10/16 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
Python的time模块中的常用方法整理
2015/06/18 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
对Django外键关系的描述
2019/07/26 Python
python 如何停止一个死循环的线程
2020/11/24 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
司机的工作范围及职责
2013/11/13 职场文书
社区包粽子活动方案
2014/01/21 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
机械机修工岗位职责
2014/08/03 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
导游词之山东孔庙
2019/11/04 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers