アクセスしたXMLファイルをPHPで配列に変換する方法

PHPz
リリース: 2023-04-26 15:12:19
オリジナル
520 人が閲覧しました

PHP を使用した Web 開発のプロセスでは、XML ファイルを操作する必要があることがよくあります。 XML ファイル内のデータは通常、プログラムで処理するために配列に変換する必要があります。この記事では、アクセスしたXMLファイルを配列に変換する方法を紹介します。

1. はじめに

XML (Extensible Markup Language) は、構造化データを保存および交換するための言語です。非常に汎用性が高く、さまざまな環境やアプリケーションで使用できます。 PHP を使用すると、XML ドキュメントの読み取り、編集、生成が簡単に行えます。しかし、実際の開発では、プログラムで使いやすいように XML データを配列に変換する必要があることがよくあります。この記事では、XMLファイルを配列に変換して操作する方法を具体的な例を用いて説明します。

2. 例

この例では、香港天文台から提供された XML ファイル (天気予報) を使用し、配列に変換します。この XML ファイルは、Web サイト http://rss.weather.gov.hk/rss/CurrentWeather/city.xml で入手できます。このファイルをダウンロードしてローカルに保存します。

3. コード分析

最初にこの XML ファイルをロードする必要があります。 XML ファイルは、simplexml_load_file() 関数を使用して簡単にロードし、PHP オブジェクトに変換できます。

$xmlObj = simplexml_load_file("city.xml");

次に、オブジェクト モードを使用して、この XML ファイル内のデータにアクセスし、配列に保存します。

$cityArray = array();
foreach ($xmlObj->channel->item as $item) {

$titleArray = explode(" / ", $item->title);
$city = $titleArray[0];
$temp = substr($titleArray[1], 0, 2);
$cityArray[$city] = array("temperature" => $temp);
ログイン後にコピー
ログイン後にコピー

}

このコードでは、最初にループします。 XML ファイル内のすべての都市を調べます。都市ごとに、「都市名 => 気温」の形式でデータを配列に保存します。

次に、この配列内のデータを使用して、必要な操作を実行できます。たとえば、すべての都市の気温を出力できます:

foreach ($cityArray as $city => $data) {

echo "$city 的温度为:{$data['temperature']}度。";
ログイン後にコピー
ログイン後にコピー

}

4. 完全なコード

以下は、XML ファイルを読み取って配列に変換し、すべての都市の気温を出力するプロセスを含む完全なコードです。

$xmlObj = simplexml_load_file("city.xml ");
$cityArray = array();
foreach ($xmlObj->channel->item as $item) {

$titleArray = explode(" / ", $item->title);
$city = $titleArray[0];
$temp = substr($titleArray[1], 0, 2);
$cityArray[$city] = array("temperature" => $temp);
ログイン後にコピー
ログイン後にコピー

}

foreach ($ cityArray as $city => $data) {

echo "$city 的温度为:{$data['temperature']}度。";
ログイン後にコピー
ログイン後にコピー

}

5. 概要

この記事では、XML ファイルを配列に変換する方法を紹介します。 PHP の simplexml_load_file() 関数を使用すると、XML ファイルを簡単にロードして PHP オブジェクトに変換できます。次に、オブジェクト メソッドを使用して、この XML ファイル内のデータにアクセスして操作し、プログラムで簡単に使用できるようにデータを配列に保存します。この方法は非常に便利で、開発効率を向上させることができます。

以上がアクセスしたXMLファイルをPHPで配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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