PhpDig.net

What is PhpDig?
PhpDig is a PHP MySQL based
Web Spider & Search Engine.




xml_set_object

Name

xml_set_object — Sets an object to a parser.

Synopsis

void xml_set_object(parserID, parser);
resource parserID: Reference to a valid parser
object parser: Object to set the parser to

Returns

TRUE on success; FALSE on failure

Description

This function allows the user to create a parser object that has hooks into functions and events of this extension. This is useful for encapsulating the parsing functionality in an object and extending the functionality for use; for example, when writing a print XML tree function for the object.

Version

PHP 4 >= 4.0b4

Example

Example 1438. Create an XML parser object

class XMLParser {
   var $xmlparser;

   function XMLParser() {
      $this->xmlparser = xml_parser_create();
      xml_set_object($this->xmlparser, $this);
      xml_set_element_handler($this->xmlparser, "start_tag", "ending_tag");
   }

   function parse($data) { 
      xml_parse($this->xmlparser, $data);
   }

   function parse_File($xmlfile) { 
 
         // open a file and read data from it for parsing
      $fp = fopen($xmlfile, 'r');
        while ($xmldata = fread($fp, 4096)) {
    
             // parse the data chunk
            if (!xml_parse($this->xmlparser, $xmldata)) {
    
                     // if parsing fails print the error description and line number
                  die( print "ERROR: "
                    . xml_error_string(xml_get_error_code($this->xmlparser))
                    . "<BR />"
                    .   "Line: "
                    . xml_get_current_line_number($this->xmlparser)
                    . "<BR />"
                    .   "Column: "
                    . xml_get_current_column_number($this->xmlparser)
                    . "<BR />");
            } // end if
      } // end while
   } // end function

   function start_tag($xmlparser, $tag, $attributes) { 
      print "Opening tag: $tag<BR />"; 
   }

   function ending_tag($xmlparser, $tag) { 
      print "Ending tag: $tag<BR />";
   }

   // code to print an XML tree
   function print_tree() {
    
   }

   function close_Parser() {
        // free the parser memory
      xml_parser_free($this->xmlparser);
   }    

} 

$myxmlparser = new XMLParser();
$myxmlparser->parse_File("myfile.xml");
$myxmlparser->close_parser();



PHP Functions Essential Reference. Copyright © 2002 by New Riders Publishing (Authors: Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch). This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). The authors of this book have elected not to choose any options under the OPL. This online book was obtained from http://www.fooassociates.com/phpfer/ and is designed to provide information about the PHP programming language, focusing on PHP version 4.0.4 for the most part. The information is provided on an as-is basis, and no warranty or fitness is implied. All persons and entities shall have neither liability nor responsibility to any person or entity with respect to any loss or damage arising from the information contained in this book.

Powered by: vBulletin Version 3.0.7
Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Copyright © 2001 - 2005, ThinkDing LLC. All Rights Reserved.