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 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代码