ホームページ バックエンド開発 PHPチュートリアル PHP による XML の読み取りに関する問題

PHP による XML の読み取りに関する問題

Jun 13, 2016 pm 01:38 PM
name nbsp position quot xml

PHP の XML 読み取りの問題
以下のようなコードをダウンロードしましたが、実行時に「name:」のみが表示され、その後は何も設定する必要はありません。
<?php
$parser = xml_parser_create(); //パーサーエディタを作成します
xml_set_element_handler($parser, "startElement ", "endElement ");//タグがトリガーされる 対応する関数はそれぞれ startElement と endElenment です
xml_set_character_data_handler($parser, "characterData ");//データ読み取り時に対応する関数を設定します
$xml_file= "1.xml ";// 指定読み取られる内容の XML ファイル。URL を指定できます。
$filehandler = fopen($xml_file, "r ");// ファイルを開きます




while ($data = fread($filehandler , 4096))
{
filehandler);
xml_parser_free($parser);// パーサー parser を閉じて解放します


$name=false;
$position=false;
function startElement($parser_instance , $ Element_name, $ Attrs) // 開始ラベルイベントの関数
{
グローバル $ name, $ posity
if; ($ 要素名 == "名前")
{
$name=true;
$position=false;
echo "名前: ";
if($element_name= = "POSITION ")
{$name=false;
$position=true;
echo "位置: ";
}
}

関数characterData($parser_instance) , $xml_data) //データ読み込み時の関数
{
global $name,$position;
if($position)
echo $xml_data. "
if ($name)
echo $xml_data. ";
}

function endElement($parser_instance, $element_name) ;
$position=false
}

?>



XML ファイルのコードは次のとおりです:




<?xml version= "1.0 " ?>
<従業員>
<役職= "45"> > </従業員>
<従業員>
<役職= "45"> ;
</従業員>




- -----解決策---------- ---------

任意の xml を配列に読み込むことができる暗号化された xml クラスがあり、これも PHP 組み込み関数を使用して実装されます。あなたに送りたい

------解決策------

XML は GB2312 でエンコードされていると思います。デフォルトでは UTF-8。 XML ファイルを UTF8 に変更してみてください。

------解決策----------------------

ソース ファイルは正しいです。PHP4 でテストしてください。正しい

------解決策---------エンコードはutf-8です。 gb2312環境に影響があるかどうかはわかりません。

------解決策----------------------もちろん、utf であれば影響はあります。 -8 、gb2312 で使用したい場合は、トランスコードするのが最善です

------解決策----------------------

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

Windows 11で明るさを調整する10の方法

PowerPoint を使用して XML ファイルを開くことはできますか? PowerPoint を使用して XML ファイルを開くことはできますか? Feb 19, 2024 pm 09:06 PM

PowerPoint を使用して XML ファイルを開くことはできますか?

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? Nov 29, 2023 pm 11:21 PM

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は?

See all articles