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

2015-01-24信息快讯网

php中使用DOM类读取XML文件的实现代码,学习php的朋友可以参考下。

主要功能: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 var_dump()函数的详解
php数组(array)输出的三种形式详解
php set_time_limit()函数的使用详解
基于PHP文件操作的详解
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
解析php DOMElement 操作xml 文档的实现代码
php获取本地图片文件并生成xml文件输出具体思路
php简单开启gzip压缩方法(zlib.output_compression)
自定义php类(查找/修改)xml文档
php中DOMElement操作xml文档实例演示
php截取字符串并保留完整xml标签的函数代码
将博客园(cnblogs.com)数据导入到wordpress的代码
php5.3中连接sqlserver2000的两种方法(com与ODBC)
PHP中3种生成XML文件方法的速度效率比较
PHP中的生成XML文件的4种方法分享
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
通达OA公共代码 php常用检测函数
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
php中日期加减法运算实现代码
php使用Smarty的相关注意事项及访问变量的几种方式
在PHP中利用wsdl创建标准webservice的实现代码
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
php数组函数序列之array_combine() - 数组合并函数使用说明
php XMLWriter类的简单示例代码(RSS输出)
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
PHP用SAX解析XML的实现代码与问题分析
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
兼容firefox,chrome的网页灰度效果
PHP中将数组转成XML格式的实现代码
php XPath对XML文件查找及修改实现代码
生成ubuntu自动切换壁纸xml文件的php代码
©2014-2024 dbsqp.com