php中使用DOM类读取XML文件

admin 2014年12月16日 XML和SQL学习 776次阅读 查看评论

php中使用DOM类读取XML文件

主要功能:php中使用DOM类读取XML文件

设计知识点:

1、XML节点循环读取

2、用iconv()函数实现编码转换,防止中文乱码

holiday.xml文件如下

<?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>';
    }
}
?>


« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:xmlsimplexml

相关日志:

«   2019年11月   »
123
45678910
11121314151617
18192021222324
252627282930
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集
  • 又拍云
  • 订阅ipvb的RSS 2.0聚合