This example shows you how to create a very simple parser that handles start, end elements (i.e. opening and closing tags), and character data (the "content" between the tags).
require_once 'XML/Parser.php'; class myParser extends XML_Parser { function myParser() { parent::XML_Parser(); } /** * handle start element * * @access private * @param resource xml parser resource * @param string name of the element * @param array attributes */ function startHandler($xp, $name, $attribs) { printf('handle start tag: %s<br />', $name); } /** * handle start element * * @access private * @param resource xml parser resource * @param string name of the element */ function endHandler($xp, $name) { printf('handle end tag: %s<br />', $name); } /** * handle character data * * @access private * @param resource xml parser resource * @param string character data */ function cdataHandler($xp, $cdata) { // does nothing here, but might e.g. print $cdata } } $p = &new myParser(); $result = $p->setInputFile('xml_parser_file.xml'); $result = $p->parse(); |
This parser will just output the names of the opening and closing tags that are found while parsing the document.