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.MVC的模板标签系统(五)
Sep 05 PHP
PHP 存取 MySQL 数据库的一个例子
Oct 09 PHP
用PHP连接MySQL代码的参数说明
Jun 07 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
openPNE常用方法分享
Nov 29 PHP
php 强制下载文件实现代码
Oct 28 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
Yii redis集合的基本使用教程
Jun 14 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
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
破解Session cookie的方法
2006/07/28 Javascript
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
javascript中clone对象详解
2014/12/03 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
python GUI模拟实现计算器
2020/06/22 Python
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
初一体育教学反思
2014/01/29 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
《童趣》教学反思
2014/02/19 职场文书
高中军训感言500字
2014/02/24 职场文书
教学评估实施方案
2014/03/16 职场文书
山楂树之恋观后感
2015/06/11 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
安全教育主题班会教案
2015/08/12 职场文书
2015元旦感言
2015/12/09 职场文书
心理学培训心得体会
2016/01/22 职场文书
通知怎么写?
2019/04/17 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫