当前位置:Gxlcms > PHP教程 > php中使用DOM类读取XML文件的实现代码_PHP教程

php中使用DOM类读取XML文件的实现代码_PHP教程

时间:2021-07-01 10:21:17 帮助过:7人阅读

主要功能:php中使用DOM类读取XML文件
设计知识点:
1、XML节点循环读取
2、用iconv()函数实现编码转换,防止中文乱码
holiday.xml文件如下
代码如下:
  1. <br><!--?xml version="1.0" encoding="UTF-8"?--> <br><daysoff-overtime> <br><year> <br><yearname>2012</yearname> <br><holiday> <br><holidayname>元旦</holidayname> <br><daysoff> <br><from>2012-1-1</from> <br><to>2012-1-3</to> <br></daysoff> <br><overtime> <br><day>2011-12-31</day> <br></overtime> <br></holiday> <br><holiday> <br><holidayname>春节</holidayname> <br><daysoff> <br><from>2012-1-22</from> <br><to>2012-1-28</to> <br></daysoff> <br><overtime> <br><day>2012-1-21</day> <br><day>2012-1-29</day> <br></overtime> <br></holiday> <br><holiday> <br><holidayname>清明节</holidayname> <br><daysoff> <br><from>2012-4-2</from> <br><to>2012-4-4</to> <br></daysoff> <br><overtime> <br><day>2012-3-31</day> <br><day>2012-4-1</day> <br></overtime> <br></holiday> <br><holiday> <br><holidayname>劳动节</holidayname> <br><daysoff> <br><from>2012-4-29</from> <br><to>2012-5-1</to> <br></daysoff> <br><overtime> <br><day>2012-4-28</day> <br></overtime> <br></holiday> <br><holiday> <br><holidayname>端午节</holidayname> <br><daysoff> <br><from>2012-6-22</from> <br><to>2012-6-24</to> <br></daysoff> <br><overtime> <br></overtime></holiday> <br><holiday> <br><holidayname>中秋节、国庆节</holidayname> <br><daysoff> <br><from>2012-9-30</from> <br><to>2012-10-7</to> <br></daysoff> <br><overtime> <br><day>2012-9-26</day> <br></overtime> <br></holiday> <br></year> <br></daysoff-overtime> <br> <br>php代码如下: <br><span style="CURSOR: pointer" onclick="doCopy('code5005')"><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br><!--?php <BR-->//读取xml文件 <br>$xmlDoc = new DOMDocument(); <br>$xmlDoc->load('http://127.0.0.1/holiday.xml'); <br>//获得该xml文件中的所有年份 <br>$years = $xmlDoc->getElementsByTagName("year"); <br>//对每一个年份进行处理 <br>foreach($years as $year){ <br>//获得具体的年份值 <br>$yearNames = $year->getElementsByTagName("yearName"); <br>$yearName = $yearNames->item(0)->nodeValue; <br>echo $yearName.'年'.'<br>'; <br>//获得该年份下所有的假日 <br>$holidays = $year->getElementsByTagName("holiday"); <br>//对每一个假日进行处理 <br>foreach($holidays as $holiday){ <br>//获得假日名称 <br>$holidayNames = $holiday->getElementsByTagName("holidayName"); <br>$holidayName = $holidayNames->item(0)->nodeValue; <br>echo iconv('utf-8','gb2312', $holidayName).': '.'<br>'; <br>//获得假日的具体放假日期 <br>$daysOffs = $holiday->getElementsByTagName("daysOff"); <br>$daysOff = $daysOffs->item(0); <br>$froms = $daysOff->getElementsByTagName("from"); <br>$from = $froms->item(0)->nodeValue; <br>$tos = $daysOff->getElementsByTagName("to"); <br>$to = $tos->item(0)->nodeValue; <br>echo '假期为:'.$from.' 至 '.$to.'<br>'; <br>//获得针对该假日的调休日期 <br>$overTimes = $holiday->getElementsByTagName("overTime"); <br>$overTime = $overTimes->item(0); <br>$days = $overTime->getElementsByTagName("day"); <br>//通过判断,有调休日期则显示,没有则不显示 <br>if($days->length!=0){ <br>echo '调休日为:'; <br>foreach($days as $day){ <br>echo $day->nodeValue.' '; <br>} <br>echo '<br>'; <br>} <br>echo '<br>'; <br>} <br>} <br>?> <br> <br></li><li><p></p></li></ol></pre>输出显示:<p></p>
  2. <p><img alt="" src="http://www.bkjia.com/uploads/allimg/131016/1440356054-0.jpg"></p>
  3. <p></p>
  4. <p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/324657.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/324657.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">主要功能:php中使用DOM类读取XML文件 设计知识点: 1、XML节点循环读取 2、用iconv()函数实现编码转换,防止中文乱码 holiday.xml文件如下 复制...</span></p>

人气教程排行