XML ドキュメントを PHP 配列に変換するために使用します。場合によっては、XML ドキュメントを受信データとして処理したり、データを XML ドキュメントとしてエクスポートしたりする必要があります。 XML 言語は、Web サイトまたはアプリケーション間でのデータ共有を構造化するために利用されます。そのため、XML データをスムーズに操作できるように XML から配列への操作を提供します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
変換中に、以下で説明するいくつかの関数を使用する必要があります –
XML ドキュメントを受け取り、それを配列に変換します。 ExXMl.xml という XML ドキュメントがあるとします。次に、それを配列に変換したいと思います。したがって、変換するには、いくつかの手順に従う必要があります –
XML ファイルをロードして PHP 配列に変換する例 –
まず、「ExXML.xml」という名前で XML データ ファイルを作成し、データの内容を –
として作成します。コード:
<?xml version="1.0" encoding="utf-8"?> <Student> <firstname name = 'John'> <rollno> 12 </rollno> <marks> 78 </marks> <subject> English </subject> </firstname> <firstname name='Sam'> <rollno> 15 </rollno> <marks> 80 </marks> <subject> English </subject> </firstname> <firstname name='Praveen'> <rollno> 30 </rollno> <marks> 50 </marks> <subject> English </subject> </firstname> </Student> Next,we create the PHP file to read and load the XML file, as below - <?php // xml file $file = "ExXML.xml"; // Read XML file as string $xml_file = file_get_contents($file); // xml string is Convert into an object $obj = simplexml_load_string($xml_file); // AN object Convert into json string $json_string = json_encode($obj); // Convert json string into an array $array = json_decode($json_string, true); // print an array print_r($array); ?>
出力:
開始タグと終了タグはすべて適切です。次に、ロードされたオブジェクトは、 json_encode () 関数と json_decode() 関数を使用して、それぞれ PHP 配列としてエンコードおよびデコードされます。
エラーと解析エラーが発生する例 -
次に、PHP XML を配列に変換するための PHP コードを記述します。ここでは、以下に示すように、XML タグの不一致または適切な構造化が原因で、XML を配列に実行するときに発生した解析エラーが表示されます –
コード:
<?xml version='1.0'?> <Student> <firstname name = 'John'> <rollno> 12 </rollno> <marks> 78 </marks> <!-- missing --> </firstname> <firstname name='Sanjay'> <rollno> 15 </rollno> <marks> 80 </marks> <!-- mismatch tag --> <subject> English <subject> </firstname> <firstname name='Parvez'> <rollno> 30 </rollno> <marks> 50 </marks> <subject> English </subject> </firstname> </Student> Next, we create the PHP file to read and load the XML file, as below - <?php // xml file $file = "ExXML.xml"; // Read file as string $xml_file = file_get_contents($file); // xml string is Convert into an object $obj = simplexml_load_string($xml_file); // check xml load or not if ($obj == FALSE) { echo "There were errors to parse the XML file.\n"; exit; } // AN object Convert into json string $json_string = json_encode($obj); // Convert json string into an array $array = json_decode($json_string, true); // print an array print_r($array); ?>
出力:
開始タグと終了タグの 1 つが一致せず、タグの 1 つが欠落しています (XML ファイルでコメント タグで示されているように)。 上記の出力に見られるように、警告は XML ファイルの解析およびロード中に発生します。したがって、警告を読んで XML ファイルを修正し、再度ロードしてください。
以上がPHP XML を配列に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。