主な機能: php で DOM クラスを使用して XML ファイルを読み取る
設計の知識ポイント:
1. XML ノードのループ読み取り
2. iconv() 関数を使用して中国語の文字化けを防ぐエンコーディング変換を実装する
holiday .xml ファイルは次のとおりです:
コードをコピーします コードは次のとおりです:
xml バージョン = "1.0" エンコーディング = "UTF- 8"?>
<休日期間>
<年>2012年> ;
/to>
日>
<日><休日>休日名>
<休日>
<2012-1-22 28
22012-4-4
2012-3-31日>
/日>
休日>
<休日>労働者の日休日>
<2012年4月29日から< ;to>2012-5-1
;
休日>
<休日名>休日名>
<休日>2012-6-22 /から
休日> ;
中秋節、建国記念日
2012 年 9 月 30 日
-10-7
日>
日>
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.'year'.''
// 年間のすべての祝日を取得します
$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 ); $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); $overTime->getElementsByTagName("day");
//判断により、祝日がある場合は表示し、ない場合は表示しません。
if($days) -> length!=0){
echo '休日の日数を調整します:';
foreach($days as $day){
echo $day->nodeValue.'; }
echo '';
}
echo '';
}
?> 🎜>
出力表示: