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).
<?php
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 end 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.