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

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

WBOY
リリース: 2016-06-13 13:38:20
オリジナル
940 人が閲覧しました

PHP の XML 読み取りの問題
以下のようなコードをダウンロードしましたが、実行時に「name:」のみが表示され、その後は何も設定する必要はありません。
$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 ファイルのコードは次のとおりです:





<従業員>
<役職= "45"> >
<従業員>
<役職= "45"> ;





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

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

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

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

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

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

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

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

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

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