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 cURL和Rolling cURL并发方式比较
Oct 30 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
php实现字符串反转输出的方法
Mar 14 PHP
php文件上传你必须知道的几点
Oct 20 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 PHP
PHP使用PDO操作sqlite数据库应用案例
Mar 07 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-fpm的两种进程管理模式详解
2013/06/03 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
一个可以显示阴历的JS代码
2007/03/05 Javascript
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
Python列表推导式的使用方法
2013/11/21 Python
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
python基于win32api实现键盘输入
2020/12/09 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
美国旅游网站:Tours4Fun
2017/02/17 全球购物
大学生新学期计划书
2014/04/28 职场文书
岗位安全生产责任书
2014/07/28 职场文书
受伤赔偿协议书
2014/09/24 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书