simplexml_load_file: XMLファイルをパースし、オブジェクトに代入する (SimpleXML 関数) - PHPプロ!マニュアル

PHPマニュアル

simplexml_load_file: XMLファイルをパースし、オブジェクトに代入する

simplexml_load_file

(PHP 5)

simplexml_load_fileXMLファイルをパースし、オブジェクトに代入する

説明

object simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns [, bool $is_prefix = false ]]]] )

指定したファイルの中の整形式 XML ドキュメントをオブジェクトに変換します。

パラメータ

filename

XML ファイルへのパス。

注意:

Libxml 2 は URI をエスケープしませんので、例えば URI パラメータ ab&c を渡したい場合、 simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))) をしてコールする必要があります。PHP 5.1.0 以降では、これをする必要は ありません。PHP が自動的に行います。

class_name

simplexml_load_file() が指定されたクラスのオブジェクトを返すようにするために、 このオプションのパラメータを使用します。 このクラスは、SimpleXMLElement クラスを継承していなければなりません。

options

PHP 5.1.0 と Libxml 2.6.0 から、追加の Libxml パラメータ を指定するために options を使用することもできます。

ns

is_prefix

返り値

SimpleXMLElement クラスのオブジェクトを返します。 XML ドキュメント内のデータをプロパティに含みます。 エラー時には FALSE を返します。

エラー / 例外

XML データ内でエラーが見つかるたびに E_WARNING エラーメッセージが発生します。

ヒント

libxml_use_internal_errors() ですべての XML エラーを抑制し、 後から libxml_get_errors() で取得することもできます。

例1 XMLドキュメントをパースする

<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('test.xml')) {
    
$xml simplexml_load_file('test.xml');

    
print_r($xml);
} else {
    exit(
'Failed to open test.xml.');
}
?>

このスクリプトは成功時に以下のように出力します。

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

この時点で、$xml->title としたり、 他の全ての要素にアクセスすることができます。

参考


PHPマニュアル



Pick Up Q&A

Q
負荷時のmysql_connect()エラー
 このエントリーをはてなブックマークに追加 
A
これはPHPというよりOSまたはMySQLのコミュニティで質問されたほうがいいと思います。 ぱっと思いついた範囲で記すと MySQL等のDBに「ある時点において同時に接続可能なクライアントの最大数」に制限があるよう...

>>続きを読む

今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)