PHP
XML

xml_set_object

xml_set_object

(PHP 4, PHP 5, PHP 7)

xml_set_object - 在对象中使用XML解析器

描述

bool xml_set_object ( resource $parser , object &$object )

这个函数允许在对象内部使用解析器。 所有的回调函数都可以用xml_set_element_handler()等来设置,并假定它是对象的方法。

警告

除了在解析完成时调用xml_parser_free()之外,从PHP 7.0.0开始,还必须显式取消引用parser以避免内存泄漏。

参数

parser

对在对象中使用的XML解析器的引用。

object

使用XML解析器的对象。

返回值

成功时返回TRUE或失败时返回FALSE

例子

示例#1 xml_set_object()示例

<?php class 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"

← xml_set_notation_decl_handler

xml_set_processing_instruction_handler →