php中使用DOM类读取XML文件的实现代码


Posted in PHP onDecember 14, 2011

主要功能:php中使用DOM类读取XML文件
设计知识点:
1、XML节点循环读取
2、用iconv()函数实现编码转换,防止中文乱码
holiday.xml文件如下

<?xml version="1.0" encoding="UTF-8"?> 
<daysOff-overTime> 
<year> 
<yearName>2012</yearName> 
<holiday> 
<holidayName>元旦</holidayName> 
<daysOff> 
<from>2012-1-1</from> 
<to>2012-1-3</to> 
</daysOff> 
<overTime> 
<day>2011-12-31</day> 
</overTime> 
</holiday> 
<holiday> 
<holidayName>春节</holidayName> 
<daysOff> 
<from>2012-1-22</from> 
<to>2012-1-28</to> 
</daysOff> 
<overTime> 
<day>2012-1-21</day> 
<day>2012-1-29</day> 
</overTime> 
</holiday> 
<holiday> 
<holidayName>清明节</holidayName> 
<daysOff> 
<from>2012-4-2</from> 
<to>2012-4-4</to> 
</daysOff> 
<overTime> 
<day>2012-3-31</day> 
<day>2012-4-1</day> 
</overTime> 
</holiday> 
<holiday> 
<holidayName>劳动节</holidayName> 
<daysOff> 
<from>2012-4-29</from> 
<to>2012-5-1</to> 
</daysOff> 
<overTime> 
<day>2012-4-28</day> 
</overTime> 
</holiday> 
<holiday> 
<holidayName>端午节</holidayName> 
<daysOff> 
<from>2012-6-22</from> 
<to>2012-6-24</to> 
</daysOff> 
<overTime/> 
</holiday> 
<holiday> 
<holidayName>中秋节、国庆节</holidayName> 
<daysOff> 
<from>2012-9-30</from> 
<to>2012-10-7</to> 
</daysOff> 
<overTime> 
<day>2012-9-26</day> 
</overTime> 
</holiday> 
</year> 
</daysOff-overTime>

php代码如下:
<?php 
//读取xml文件 
$xmlDoc = new DOMDocument(); 
$xmlDoc->load('http://127.0.0.1/holiday.xml'); 
//获得该xml文件中的所有年份 
$years = $xmlDoc->getElementsByTagName("year"); 
//对每一个年份进行处理 
foreach($years as $year){ 
//获得具体的年份值 
$yearNames = $year->getElementsByTagName("yearName"); 
$yearName = $yearNames->item(0)->nodeValue; 
echo $yearName.'年'.'</br>'; 
//获得该年份下所有的假日 
$holidays = $year->getElementsByTagName("holiday"); 
//对每一个假日进行处理 
foreach($holidays as $holiday){ 
//获得假日名称 
$holidayNames = $holiday->getElementsByTagName("holidayName"); 
$holidayName = $holidayNames->item(0)->nodeValue; 
echo iconv('utf-8','gb2312', $holidayName).': '.'</br>'; 
//获得假日的具体放假日期 
$daysOffs = $holiday->getElementsByTagName("daysOff"); 
$daysOff = $daysOffs->item(0); 
$froms = $daysOff->getElementsByTagName("from"); 
$from = $froms->item(0)->nodeValue; 
$tos = $daysOff->getElementsByTagName("to"); 
$to = $tos->item(0)->nodeValue; 
echo '假期为:'.$from.' 至 '.$to.'</br>'; 
//获得针对该假日的调休日期 
$overTimes = $holiday->getElementsByTagName("overTime"); 
$overTime = $overTimes->item(0); 
$days = $overTime->getElementsByTagName("day"); 
//通过判断,有调休日期则显示,没有则不显示 
if($days->length!=0){ 
echo '调休日为:'; 
foreach($days as $day){ 
echo $day->nodeValue.' '; 
} 
echo '</br>'; 
} 
echo '</br>'; 
} 
} 
?>

输出显示:

php中使用DOM类读取XML文件的实现代码

PHP 相关文章推荐
php 仿Comsenz安装效果代码打包提供下载
May 09 PHP
php计算十二星座的函数代码
Aug 21 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
php读取文件内容到数组的方法
Mar 16 PHP
php比较相似字符串的方法
Jun 05 PHP
简单谈谈favicon
Jun 10 PHP
PHP7正式版测试,性能惊艳!
Dec 08 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
通达OA公共代码 php常用检测函数
Dec 14 #PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 #PHP
php中日期加减法运算实现代码
Dec 08 #PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 #PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 #PHP
PHP新手NOTICE错误常见解决方法
Dec 07 #PHP
PHPExcel读取Excel文件的实现代码
Dec 06 #PHP
You might like
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
基于node.js的快速开发透明代理
2010/12/25 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
javascript基本语法
2016/05/31 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
Windows环境下python环境安装使用图文教程
2018/03/13 Python
对numpy中shape的深入理解
2018/06/15 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
详解Python 正则表达式模块
2018/11/05 Python
python装饰器练习题及答案
2019/11/01 Python
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
2014最新党员违纪检讨书
2014/10/12 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
教师调动申请报告
2015/05/18 职场文书
会计专业自荐信范文
2019/05/22 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python