php中使用DOM类读取XML文件的实现代码
前端之家收集整理的这篇文章主要介绍了
php中使用DOM类读取XML文件的实现代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
主要功能:PHP中使用DOM类读取XML文件
设计知识点:
1、XML节点循环读取
2、用iconv()函数实现编码转换,防止中文乱码
holiday.xml文件如下
<div class="codetitle"><a style="CURSOR: pointer" data="23095" class="copybut" id="copybut23095" onclick="doCopy('code23095')"> 代码如下:
<div class="codebody" id="code23095">
<?xml version="1.0" encoding="UTF-8"?>
2012
元旦
2012-1-1
2012-1-3
2011-12-31
春节
2012-1-22
2012-1-28
2012-1-21
2012-1-29
清明节
2012-4-2
2012-4-4
2012-3-31
2012-4-1
劳动节
2012-4-29
2012-5-1
2012-4-28
端午节
2012-6-22
2012-6-24
中秋节、国庆节
2012-9-30
2012-10-7
2012-9-26
PHP代码如下:
<div class="codetitle">
<a style="CURSOR: pointer" data="14809" class="copybut" id="copybut14809" onclick="doCopy('code14809')"> 代码如下: <div class="codebody" id="code14809">
<?
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.'年'.'';
//获得该年份下所有的假日
$holidays = $year->getElementsByTagName("holiday");
//对每一个假日进行处理
foreach($holidays as $holiday){
//获得假日
名称 $holidayNames = $holiday->getElementsByTagName("holidayName");
$holidayName = $holidayNames->item(0)->nodeValue;
echo iconv('utf-8','gb2312',$holidayName).': '.'';
//获得假日的具体放假日期
$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.'';
//获得针对该假日的调休日期
$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 '';
}
echo '';
}
}
?>