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输出表格的实现代码(修正版)
Dec 29 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
php数组去重复数据示例
Feb 25 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 PHP
php-fpm添加service服务的例子
Apr 27 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
2021年最新CPU天梯图
2021/03/04 数码科技
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
2010/02/09 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
Python计算字符宽度的方法
2016/06/14 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python通过链接抓取网站详解
2019/11/20 Python
python读取Kafka实例
2019/12/23 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
给国外客户的邀请函
2014/01/30 职场文书
《三峡》教学反思
2014/03/01 职场文书
信用卡工资证明范本
2014/10/17 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
师德师风事迹材料
2014/12/20 职场文书
给老婆的保证书
2015/01/16 职场文书
先进教师个人总结
2015/02/11 职场文书
工作态度不好检讨书
2015/05/06 职场文书
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS
OpenFeign实现远程调用
2022/08/14 Java/Android