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 相关文章推荐
PHP4实际应用经验篇(3)
Oct 09 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
May 23 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
分享一则PHP定义函数代码
2015/02/26 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
PHP守护进程实例
2015/03/06 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
深入讲解Python编程中的字符串
2015/10/14 Python
python单例模式实例解析
2018/08/28 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python中文编码知识点
2019/02/18 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
酒店服务实习自我鉴定
2013/09/22 职场文书
司机的工作范围及职责
2013/11/13 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
老龙头导游词
2015/02/11 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书