php中使用DOM类读取XML文件的实现代码_php教程-查字典教程网
php中使用DOM类读取XML文件的实现代码
php中使用DOM类读取XML文件的实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:主要功能:php中使用DOM类读取XML文件设计知识点:1、XML节点循环读取2、用iconv()函数实现编码转换,防止中文乱码holida...

主要功能: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教程学习
    热门php教程学习
    编程开发子分类