Php/docs/function.xml-set-object

提供:Dev Guides
< Php
移動先:案内検索

xml_set_object

(PHP 4, PHP 5, PHP 7)

xml_set_objectオブジェクト内部で XML パーサを使用する


説明

xml_set_object ( XMLParser $parser , object $object ) : bool

この関数は、object の内部から parser を使用可能にします。 xml_set_element_handler() 等により設定される 全てのコールバック関数は、object のメソッドであると仮定されます。


パラメータ

parser
オブジェクト内部で使う XML パーサへの参照。
object
XML パーサを使うオブジェクト。


返り値

成功した場合に true を、失敗した場合に false を返します。


変更履歴

バージョン 説明
8.0.0 引数 parser は、

XMLParser インスタンスを期待するようになりました。 これより前のバージョンでは、リソースが期待されていました。


例1 xml_set_object() の例

<?phpclass XMLParser{    private $parser;    function __construct()     {        $this->parser = xml_parser_create();        xml_set_object($this->parser, $this);        xml_set_element_handler($this->parser, "tag_open", "tag_close");        xml_set_character_data_handler($this->parser, "cdata");    }    function __destruct()    {        xml_parser_free($this->parser);        unset($this->parser);    }    function parse($data)     {        xml_parse($this->parser, $data);    }    function tag_open($parser, $tag, $attributes)     {        var_dump($tag, $attributes);     }    function cdata($parser, $cdata)     {        var_dump($cdata);    }    function tag_close($parser, $tag)     {        var_dump($tag);    }}$xml_parser = new XMLParser();$xml_parser->parse("<A ID='hallo'>PHP</A>");?>

上の例の出力は以下となります。


string(1) "A"
array(1) {
  ["ID"]=>
  string(5) "hallo"
}
string(3) "PHP"
string(1) "A"