<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Angelo</to>
<from>Jason</from>
<heading>Reminder</heading>
<body>Don't forget the meeting tonight!</body>
</note>
<?php
//Initialize the XML parser
$parser = xml_parser_create();
//Function to use at the start of an element
function start($parser, $element_name, $element_attrs){
switch($element_name){
case "NOTE": //must be in upper case
echo "--Note--<br/>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}
//Function to use at the end of an element
function stop($parser, $element_name){
echo "<br>";
}
//Function to use when finding character data
function char1($parser, $data){
echo "<b>$data</b>";
}
//Specify element handler
xml_set_element_handler($parser, "start", "stop");
//Specify data handler
xml_set_character_data_handler($parser, "char1");
//Open XML file
$fp = fopen("test.xml", "r");
//Read data
while($data = fread($fp, 4096))
{
xml_parse($parser, $data, feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
//Free the XML parser
xml_parser_free($parser);
?>
Output:
--Note--
To: Angelo
From: Jason
Heading: Reminder
Message: Don't forget the meeting tonight!