ホームページ  >  記事  >  バックエンド開発  >  PHPのDOMクラスを使用してXMLファイルを読み取るコード

PHPのDOMクラスを使用してXMLファイルを読み取るコード

WBOY
WBOYオリジナル
2016-07-25 08:51:53779ブラウズ
  1. <年名>2012
  2. <休日>
  3. 元旦
  4. 2012-1-1
  5. 2012-1-3
  6. <時間外>
  7. 2011-12-31日>
  8. <休日>
  9. 春节
  10. 2012-1-22
  11. 2012-1-28
  12. <時間外>
  13. 2012-1-21日>
  14. 2012-1-29日>
  15. <休日>
  16. 清明节
  17. 2012-4-2
  18. 2012-4-4
  19. <時間外>
  20. 2012-3-31日>
  21. 2012-4-1日>
  22. <休日>
  23. 劳活動节
  24. 2012-4-29
  25. 2012-5-1
  26. <時間外>
  27. 2012-4-28日>
  28. <休日>
  29. 端午节
  30. 2012-6-22
  31. 2012-6-24
  32. <時間外/>
  33. <休日>
  34. 中秋节、国庆节
  35. 2012-9-30
  36. 2012-10-7
  37. <時間外>
  38. 2012-9-26日>
  39. 年>
复制代码

php代码如下:

  1. //读取xml文件
  2. $xmlDoc = new DOMDocument();
  3. $xmlDoc->load('http://127.0.0.1/holiday.xml');
  4. //この xml 文書内のすべての年を取得します
  5. $years = $xmlDoc->getElementsByTagName("year");
  6. //对一年份行処理
  7. foreach($years as $year){
  8. //获特定の年を取得
  9. $yearNames = $year->getElementsByTagName("yearName");
  10. $ye​​arName = $yearNames->item(0)->nodeValue;
  11. echo $yearName.'年'.'
    ';
  12. //获得今年份下のすべての假日
  13. $holidays = $year->getElementsByTagName("holiday");
  14. //对每一个假日行处処理
  15. foreach($holidays as $holiday){
  16. //获得假日名
  17. $holidayNames = $holiday->getElementsByTagName("holidayName");
  18. $holidayName = $holidayNames->item(0)->nodeValue;
  19. echo iconv('utf-8','gb2312', $holidayName).': '.'
    ';
  20. //获得假日の特定の放出日期
  21. $daysOffs = $holiday->getElementsByTagName("daysOff");
  22. $daysOff = $daysOffs->item(0);
  23. $froms = $daysOff->getElementsByTagName("from");
  24. $from = $froms->item(0)->nodeValue;
  25. $tos = $daysOff->getElementsByTagName("to");
  26. $to = $tos->item(0)->nodeValue;
  27. echo '假期為:'.$from.' 至 '.$to.'';
  28. //获得针对该假日の调休日期間
  29. $overTimes = $holiday->getElementsByTagName("overTime");
  30. $overTime = $overTimes->item(0);
  31. $days = $overTime->getElementsByTagName("day");
  32. //通过判断,有调休日期間则显示,没有则不显示
  33. if($days->length!=0){
  34. echo '调休日の場合:';
  35. foreach($days as $day){
  36. echo $day->nodeValue.' ';
  37. }
  38. エコー '
    ';
  39. }
  40. エコー '
    ';
  41. }
  42. }
  43. ?>
コードをコピー

出力表示:



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。