国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php使用dom解析含有中文字符xml文檔

2024-05-04 21:47:19
字體:
供稿:網(wǎng)友

一般我們直接使用dom來處理xml文檔時(shí)如果里面有中文就會(huì)把中文轉(zhuǎn)換成亂碼了,下面我們通過使用iconv()函數(shù)實(shí)現(xiàn)編碼轉(zhuǎn)換,防止中文亂碼.代碼如下:

  1. <?php  
  2. //讀取xml文件  
  3. $xmlDoc = new DOMDocument();  
  4. $xmlDoc->load('http://127.0.0.1/holiday.xml');  
  5. //獲得該xml文件中的所有年份  
  6. $years = $xmlDoc->getElementsByTagName("year");  
  7. //對(duì)每一個(gè)年份進(jìn)行處理  
  8. foreach($years as $year){  
  9. //獲得具體的年份值  
  10. $yearNames = $year->getElementsByTagName("yearName");  
  11. $yearName = $yearNames->item(0)->nodeValue;  
  12. echo $yearName.'年'.'</br>';  
  13. //獲得該年份下所有的假日  
  14. $holidays = $year->getElementsByTagName("holiday");  
  15. //對(duì)每一個(gè)假日進(jìn)行處理  
  16. foreach($holidays as $holiday){  
  17. //獲得假日名稱  
  18. $holidayNames = $holiday->getElementsByTagName("holidayName");  
  19. $holidayName = $holidayNames->item(0)->nodeValue;  
  20. echo iconv('utf-8','gb2312'$holidayName).': '.'</br>';  
  21. //獲得假日的具體放假日期  
  22. $daysOffs = $holiday->getElementsByTagName("daysOff");  
  23. $daysOff = $daysOffs->item(0);  
  24. $froms = $daysOff->getElementsByTagName("from");  
  25. $from = $froms->item(0)->nodeValue;  
  26. $tos = $daysOff->getElementsByTagName("to");  
  27. $to = $tos->item(0)->nodeValue;  
  28. echo '假期為:'.$from.' 至 '.$to.'</br>';  
  29. //獲得針對(duì)該假日的調(diào)休日期  
  30. $overTimes = $holiday->getElementsByTagName("overTime");  
  31. $overTime = $overTimes->item(0);  
  32. $days = $overTime->getElementsByTagName("day");  
  33. //通過判斷,有調(diào)休日期則顯示,沒有則不顯示  
  34. if($days->length!=0){  
  35. echo '調(diào)休日為:';  
  36. foreach($days as $day){  
  37. echo $day->nodeValue.' ';  
  38. }  
  39. echo '</br>';  
  40. }  
  41. echo '</br>';  
  42. }  
  43. }  
  44. ?> 

xml文件代碼如下:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <daysOff-overTime>  
  3. <year>  
  4. <yearName>2012</yearName>  
  5. <holiday>  
  6. <holidayName>元旦</holidayName>  
  7. <daysOff>  
  8. <from>2012-1-1</from>  
  9. <to>2012-1-3</to>  
  10. </daysOff>  
  11. <overTime>  
  12. <day>2011-12-31</day>  
  13. </overTime>  
  14. </holiday>  
  15. <holiday>  
  16. <holidayName>春節(jié)</holidayName>  
  17. <daysOff>  
  18. <from>2012-1-22</from>  
  19. <to>2012-1-28</to>  
  20. </daysOff>  
  21. <overTime>  
  22. <day>2012-1-21</day>  
  23. <day>2012-1-29</day>  
  24. </overTime>  
  25. </holiday>  
  26. <holiday>  
  27. <holidayName>清明節(jié)</holidayName>  
  28. <daysOff>  
  29. <from>2012-4-2</from>  
  30. <to>2012-4-4</to>  
  31. </daysOff>  
  32. <overTime>  
  33. <day>2012-3-31</day>  
  34. <day>2012-4-1</day>  
  35. </overTime>  
  36. </holiday>  
  37. <holiday>  
  38. <holidayName>勞動(dòng)節(jié)</holidayName>  
  39. <daysOff>  
  40. <from>2012-4-29</from>  
  41. <to>2012-5-1</to>  
  42. </daysOff>  
  43. <overTime>  
  44. <day>2012-4-28</day>  
  45. </overTime>  
  46. </holiday>  
  47. <holiday>  
  48. <holidayName>端午節(jié)</holidayName>  
  49. <daysOff>  
  50. <from>2012-6-22</from>  
  51. <to>2012-6-24</to>  
  52. </daysOff>  
  53. <overTime/>  
  54. </holiday>  
  55. <holiday>  
  56. <holidayName>中秋節(jié)、國慶節(jié)</holidayName>  
  57. <daysOff>  
  58. <from>2012-9-30</from>  
  59. <to>2012-10-7</to>  
  60. </daysOff>  
  61. <overTime>  
  62. <day>2012-9-26</day>  
  63. </overTime>  
  64. </holiday>  
  65. </year>  
  66. </daysOff-overTime> 
設(shè)計(jì)知識(shí)點(diǎn):

1、XML節(jié)點(diǎn)循環(huán)讀取 

2、用iconv()函數(shù)實(shí)現(xiàn)編碼轉(zhuǎn)換,防止中文亂碼

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 正阳县| 汽车| 林芝县| 瓦房店市| 青阳县| 镇原县| 深州市| 镇巴县| 沙田区| 加查县| 瑞丽市| 清原| 景东| 全椒县| 赣榆县| 南昌市| 建平县| 宝应县| 崇阳县| 当阳市| 抚州市| 和政县| 化州市| 陈巴尔虎旗| 中方县| 桐柏县| 黄大仙区| 莱芜市| 肇庆市| 定安县| 姚安县| 峨眉山市| 六枝特区| 宜城市| 嘉荫县| 兴安盟| 襄樊市| 娱乐| 永兴县| 陇川县| 奇台县|