<?php
$parser
= xml_parser_create();
function
starting_handler(
$parser
,
$element_name
,
$element_attrs
) {
switch
(
$element_name
) {
case
"USER"
:
echo
"<u>USER DATA</u><br>"
;
break
;
case
"USERNAME"
:
echo
"Username: "
;
break
;
case
"NAME"
:
echo
"Name: "
;
break
;
case
"PHONE"
:
echo
"Phone no: "
;
break
;
case
"DETAIL"
:
echo
"More about user: "
;
}
}
function
ending_handler(
$parser
,
$element_name
) {
echo
"<br>"
;
}
function
char_handler(
$parser
,
$data
) {
echo
$data
;
}
xml_set_element_handler(
$parser
,
"starting_handler"
,
"ending_handler"
);
xml_set_character_data_handler(
$parser
,
"char_handler"
);
$fp
=
fopen
(
"geeks.xml"
,
"r"
);
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
))
);
}
xml_parser_free(
$parser
);
fclose(
$fp
);
?>