X
<?php 
# Die callback Funktionen definieren 
function startElement($parser$name$attrs) { 
  echo 
"Open: " $name "\n"

function 
endElement($parser$name) { 
  echo 
"Close: " $name "\n"

function 
characterData($parser$data) { 
  if (
$data trim($data)) { 
    echo 
"Data: " $data "\n"
  } 

 
 
$xml_parser xml_parser_create(); # Parser erstellen  
xml_set_element_handler($xml_parser"startElement""endElement"); # callback Funktionen registrieren 
xml_set_character_data_handler($xml_parser"characterData"); # callback Funktionen registrieren 
 
$fp fopen("book.xml""r"); # XML-File zum Lesen öffnen   
 
while ($data fread($fp4096)) { # XML-Daten lesen und parsen 
  
if (!xml_parse($xml_parser$datafeof($fp))) { 
    die(
sprintf("XML error: %s at line %d"
                
xml_error_string(xml_get_error_code($xml_parser)), 
                
xml_get_current_line_number($xml_parser))); 
  } 
 } 
 
xml_parser_free($xml_parser); # Parser wieder schliessen 
?>
X
Open: BOOK
Open: TITLE
Data: This is an Example-Book
Close: TITLE
Open: CHAPTER
Open: TITLE
Data: Title from Chapter 1
Close: TITLE
Open: PARA
Data: Text in chapter 1
Close: PARA
Close: CHAPTER
Open: CHAPTER
Open: TITLE
Data: Title from Chapter 2
Close: TITLE
Open: PARA
Data: Text in chapter 2
Close: PARA
Close: CHAPTER
Close: BOOK