ホームページ > php教程 > php手册 > DOM クラスを使用して PHP で XML ファイルを読み取るための実装コード

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

WBOY
リリース: 2016-06-13 12:03:44
オリジナル
1058 人が閲覧しました

主な機能: php で DOM クラスを使用して XML ファイルを読み取る
設計の知識ポイント:
1. XML ノードのループ読み取り
2. iconv() 関数を使用して中国語の文字化けを防ぐエンコーディング変換を実装する
holiday .xml ファイルは次のとおりです:

コードをコピーします コードは次のとおりです:



<休日期間>
<年>2012 ;


/to>

<日><休日>休日名>
<休日>
<2012-1-22 28

2012-1-21
22012-4-4
2012-3-31日>
/日>

休日>
<休日>労働者の日
<2012年4月29日2012-5-1

2012-4-28
;

<休日名>休日名>
<休日>2012-6-22 /から
2012-6-24
;
中秋節、建国記念日

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 '
';
}
?> 🎜>
出力表示:



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート