ホームページ >バックエンド開発 >PHPチュートリアル >PHP は dom を使用して中国語の文字を含む XML ドキュメントを解析します_PHP チュートリアル

PHP は dom を使用して中国語の文字を含む XML ドキュメントを解析します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:55:37807ブラウズ

一般的に、DOMを直接使ってXML文書を処理すると、中国語が含まれていると文字化けしてしまいます

次に、iconv()関数を使って、中国語の文字化けを防ぐためのエンコード変換を実装します。
コードは次のとおりです コードをコピー
//xml ファイルを読み込みます
$xmlDoc = 新しい DOMDocument(); $xmlDoc->load('http://127.0.0.1/holiday.xml'); // XML ファイル内のすべての年を取得します
$years = $xmlDoc->getElementsByTagName("年"); //毎年処理します
foreach($year を $year){
//特定の年の値を取得します
$yearNames = $year->getElementsByTagName("yearName"); $yearName = $yearNames->item(0)->nodeValue; echo $yearName.'year'.'
'; // 今年の祝日をすべて取得します
$holidays = $year->getElementsByTagName("休日"); //各休日を処理します
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); $froms = $daysOff->getElementsByTagName("from"); $from = $froms->item(0)->nodeValue; $tos = $daysOff->getElementsByTagName("to"); $to = $tos->item(0)->nodeValue; echo '休日は:'.$from.' から '.$to.' $overTimes = $holiday->getElementsByTagName("overTime"); $overTime = $overTimes->アイテム(0); $days = $overTime->getElementsByTagName("日"); //判断により、祝日があれば表示、無い場合は表示されません
if($days->length!=0){
echo '休日を次のように調整します:'; foreach($days as $day){
エコー $day->nodeValue.'; }
エコー '
'; }
エコー '
'; }
}
?>



xml文書

代码如下 复制幣

<残業日数>

<年名>2012

元旦

2012-1-1
2012-1-3

<時間外>
2011-12-31日>



春节

2012-1-22から>
2012-1-28

<時間外>
2012-1-21日>
2012-1-29日>



清明节

2012-4-2
2012-4-4

<時間外>
2012-3-31日>
2012-4-1日>



劳アニメーション节

2012-4-29
2012-5-1

<時間外>
2012-4-28日>



端午节

2012-6-22
2012-6-24




中秋节、国庆节

2012-9-30から>
2012-10-7

<時間外>
2012-9-26日>




设计知识点:
1、XML节点循環
2、用iconv()関数数实现编码转换,中文乱码

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632240.html技術記事一般我们直接使用dom来处処理xml文档時如果里面有中文就会把中文转换成乱码了,下面我们通过使用iconv()関数数实现编码转换,阻止中文乱码...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。