❮ PHP SimpleXML リファレンス
例
XML文字列をオブジェクトに変換し、オブジェクトのキーと要素を出力します。
<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Do not forget me this weekend!</body>
</note>
XML;
$xml=simplexml_load_string($note);
print_r($xml);
?>
定義と使用法
simplexml_load_string()関数は、整形式のXML文字列をオブジェクトに変換します。
構文
<div>simplexml_load_string(<em>data, class, options, ns, is_prefix</em>)</div>
パラメータ値
パラメータ |
説明 |
data |
Required 整形式のXML文字列を指定します |
class |
Optional 新しいオブジェクトのクラスを指定します |
option |
Optional 追加のLibxmlパラメーターを指定します。オプションと1または0を指定して設定されます (TRUEまたはFALSE、例: LIBXML_NOBLANKS(1)) 可能な値:
- LIBXML_COMPACT - ノード割り当ての最適化を有効にします(アプリケーションを高速化する場合があります)
- LIBXML_DTDATTR - デフォルトのDTD属性を設定する
- LIBXML_DTDLOAD - 外部サブセットをロードする
- LIBXML_DTDVALID - DTDで検証する
- LIBXML_NOBLANKS - 空白ノードを削除する
- LIBXML_NOCDATA - CDATAをテキストノードとしてマージする
- LIBXML_NOEMPTYTAG - DOMDocument->save() および DOMDocument->saveXML() 関数でのみ利用可能な空のタグ(例: <br/> から<br></br>へ)を展開します。
- LIBXML_NOENT - 代替エンティティ
- LIBXML_NOERROR - エラー レポートを表示しない
- LIBXML_NONET - ドキュメントのロード中にネットワーク アクセスを無効にする
- LIBXML_NOWARNING - 警告レポートを表示しない
- LIBXML_NOXMLDECL - ドキュメントを保存するときに XML 宣言を削除する
- LIBXML_NSCLEAN - 冗長な名前空間宣言を削除する
- LIBXML_PARSEHUGE - XML_PARSE_HUGEフラグを設定し、パーサーからハードコーディングされた制限を緩和します。これは、ドキュメントの最大深度やテキスト ノードのサイズの制限などの制限に影響します。
- LIBXML_XINCLUDE - XInclude 置換を実装する
- LIBXML_ERR_ERROR - 回復可能なエラーを取得する
- LIBXML_ERR_FATAL - 致命的なエラーを取得する
- LIBXML_ERR_NONE - エラーなし
- LIBXML_ERR_WARNING - 簡単な警告を取得する
- LIBXML_VERSION - libxmlのバージョンを取得する (例: 20605 または 20617)
- LIBXML_DOTTED_VERSION - ドット付きのlibxmlバージョンを取得します (例: 2.6.5または2.6.17)
|
ns |
Optional 名前空間のプレフィックスまたはURIを指定します |
is_prefix |
Optional ブール値を指定します。 TRUEの場合nsはプレフィックスです。 FALSEの場合nsはURIです。デフォルトはFALSEです |
Technical Details
Return Value: |
成功した場合のSimpleXMLElementオブジェクト。失敗した場合は FALSE |
PHP バージョン: |
5+ |
その他の例
例
XML文字列の各要素からデータを出力します。
<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Do not forget me this weekend!</body>
</note>
XML;
$xml=simplexml_load_string($note);
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
例
XML文字列内の各子ノードの要素の名前とデータを出力します。
<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Do not forget me this weekend!</body>
</note>
XML;
$xml=simplexml_load_string($note);
echo $xml->getName() . "<br>";
foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br>";
}
?>
❮ PHP SimpleXML リファレンス