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编程开发“虚拟域名”系统
Oct 09 PHP
虚拟主机中对PHP的特殊设置
Oct 09 PHP
怎样在PHP中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
PHP安全性漫谈
Jun 28 PHP
PHP实现变色验证码实例
Jan 06 PHP
PHP中soap的用法实例
Oct 24 PHP
php中in_array函数用法探究
Nov 25 PHP
PHP中trait使用方法详细介绍
May 21 PHP
Laravel开启跨域请求的方法
Oct 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/03/23 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
Js+XML 操作
2006/09/20 Javascript
jscript之List Excel Color Values
2007/06/13 Javascript
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
JavaScript中获取元素索引的函数
2010/09/10 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
跟老齐学Python之正规地说一句话
2014/09/28 Python
Python中处理unchecked未捕获异常实例
2015/01/17 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
python 发送json数据操作实例分析
2019/10/15 Python
Python如何读取、写入JSON数据
2020/07/28 Python
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
销售员自我评价怎么写
2013/09/19 职场文书
汽车检测与维修个人求职信
2013/09/24 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
思想作风建设心得体会
2014/10/22 职场文书
如何写好活动总结
2019/06/21 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
2022/04/24 Vue.js