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 相关文章推荐
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
PHP中数组的三种排序方法分享
May 07 PHP
smarty中js的调用方法示例
Oct 27 PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 PHP
PHP中文乱码解决方案
Mar 05 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 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下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
php存储过程调用实例代码
2013/02/03 PHP
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
在视频前插入广告
2006/11/20 Javascript
代码生成器 document.write()
2007/04/15 Javascript
javascript document.referrer 用法
2009/04/30 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
详解AngularJS中的表达式使用
2015/06/16 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
Python读写压缩文件的方法
2020/07/30 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
企业介绍信范文
2015/01/30 职场文书
回复函格式及范文
2015/07/14 职场文书