• 技术文章 >后端开发 >php教程

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

    2016-05-17 09:14:01原创437
    主要功能:php中使用DOM类读取XML文件
    设计知识点:
    1、XML节点循环读取
    2、用iconv()函数实现编码转换,防止中文乱码
    holiday.xml文件如下
    复制代码 代码如下:




    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代码如下:
    复制代码 代码如下:

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

    输出显示:

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:DOM XML
    上一篇:采用PHP函数memory_get_usage获取PHP内存清耗量的方法_php技巧 下一篇:PHP中文件缓存转内存缓存的方法_php技巧
    PHP编程就业班

    相关文章推荐

    • 如何配置php.ini,进行PHP性能调优?• fleaphp crud操作之findByField函数的使用方法_PHP• Yii操作数据库实现动态获取表名的方法_php实例• 3款值得推荐的微信开发开源框架_php实例• PHP 如何获取客户机的每一个请求

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网