PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

XML_Unserializer Options | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

XML_Unserializer Options

XML_Unserializer Options – XML_Unserializer の全てのオプションのリスト

オプションの導入

オプションは、XML_Unserializer がパースされた XML をどの様に処理するか、 に影響します。 属性をパースすべきかどうか、複雑なデータ型を処理するために 連想配列もしくはオブジェクトのいずれを使用するか、などを定義します。

オプションは、 XML_Unserializer のコンストラクタ に連想配列として渡すことができます。 また、セットするために setOption() あるいは、 setOptions() を使用することもできます。

利用可能な全てのオプション

以下は、XML_Unserializer でサポートしている全てのオプションのリストです。

XML_Unserializer options
オプション 可能な値 デフォルト 詳細
complexType 'array' または 'object' 'array' ネストしたタグが連想配列もしくはオブジェクトのいずれで返されるかを 定義します
tagAsClass TRUE または FALSE TRUE complexType が 'object' に設定されている場合、 タグ名をクラス名として使用するかどうか、を定義します。 もし、タグの名前を持つクラスがない場合、 'defaultClass' によって定義されたクラスが使用されます。
defaultClass 任意の文字列 stdClass complexType が 'object' に設定されている場合、 オブジェクトを生成するために使用されるクラスを定義します。
keyAttribute 任意の文字列 または 配列 '_originalKey' もし、オプションで指定した属性がタグに存在していれば、 親オブジェクトもしくは配列でのキーもしくはプロパティ名に 使用されます。また、異なるタグに異なるキー属性を使用したい場合、 連想配列を指定することもできます。この場合、配列のキーは タグ名と属性名に一致する値を取ります。
typeAttribute 任意の文字列 '_type' もし、この属性がタグに存在していれば、タグのコンテンツは指定した型に変換されます。可能な型は、string, integer, float, boolean, 配列もしくはオブジェクトです。
classAttribute 任意の文字列 '_class' もし、XML_Unserializer がオブジェクトを生成する場合、タグがこのオプションで属性が指定されない限り、stdClassのインスタンスとなります。もし、セットされた場合、属性値としてストアされたクラス名が使用されます。
parseAttributes TRUE または FALSE FALSE このオプションで、タグの属性もパースするかどうかを XML_Unserializer に指示することができます。 次の2つのオプションで、 パースされた属性をどの様に処理するかを定義します。
attributesArray FALSE または任意の文字列 FALSE falseにセットされた場合、 属性はネストしたタグとして処理されます。 もし、文字列をセットした場合、新しい配列が生成され、 このオプションで指定したキーを使った親構造にストアされます。
prependAttributes 任意の文字列 '' 属性名の接頭辞を指定します。
contentName 任意の文字列 '_content' 属性や、cdata やタグを含むタグをパースする場合、 cdata はここで指定されたインデックスにストアされます。
tagMap 連想配列 array() PHP クラスにタグ名をマップする事ができます。 タグ名はキーで、 値はそれぞれのタグで使用されるクラス名でなければなりません。
forceEnum 順序付けされた配列 array() タグの反復数とは無関係に、順序づけされた配列に自動変換される タグのリストを指定することができます。これによりコード中の if 文を節約することができます。
encoding 任意の有効なエンコーディング文字列 null オリジナル文章のエンコーディングを定義します。
targetEncoding 任意の有効なエンコーディング文字列 null 結果データのエンコーディングを定義します。
decodeFunction 任意の有効な PHP コールバック null このオプションを使用することで、結果にストアされる前に 文章の全ての文字データや属性に対して適用させるコールバック関数 またはメソッドを定義する事ができます。 これにより、XML 内のデータをデコードしたり、 全てのコンテンツを小文字に変換することができます。
returnResult TRUE または FALSE FALSE TRUE の場合、文章がアンシリアライズ可能であれば XML_Unserializer::unserialize() はただの TRUE の代わりに結果を返します。

オプションの例

以下の例は、XML_Unserializer でどの様にオプションをセットするか、 を示しています。

コンストラクタの使用法

<?php
require_once "XML/Unserializer.php";
$options = array(
                    
'complexType'       => 'array'
                
);

$us = new XML_Unserializer($options);
$result $us->unserialize('example.xml'true);
?>

以下の例は、インスタンスがすでに生成されている場合、 XML_Unserializer でどの様にオプションをセットするか、 を示しています。

setOption() と setOptions() の使用法

<?php
require_once "XML/Unserializer.php";
$us = new XML_Unserializer();
$options = array(
                    
'tagMap'            => array( 'util' => 'XML_Util' ),
                    
'classAttribute'    => '_classname'
                
);

$us->setOptions($options);
$us->setOption('complexType''object');
$result $us->unserialize('example.xml'true);
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「XML_Unserializer Options」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | XML_Unserializer Options」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: