$file = "data.xml"; $map_array = array ("BOLD" = "B", "EMPHASIS "= "I", "LITERAL" = "TT "); function startElement($parser, $name, $attrs) {global $map_array; if ($htmltag = $map_array[$name]) {print" $htmltag ";}} function endElement($parser, $name) {global $map_array; if ($htmltag = $map_array[$name]) {print" / $htmltag ";}} function characterData($parser, $data) {print $data;} $xml_parser = xml_parser_create(); / / use case-folding so we are sure to find the tag in $map_array xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($file, "r"))) {die("could not open XML input");} while ($data = fread($fp, 4096)) {if (!xml_parse($xml_parser, $data, feof($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);
?php $file = "data.xml"; $map_array = array ("BOLD" = "B", "EMPHASIS "= "I", "LITERAL" = "TT "); function startElement($parser, $name, $attrs) {global $map_array; if ($htmltag = $map_array[$name]) {print" $htmltag ";}} function endElement($parser, $name) {global $map_array; if ($htmltag = $map_array[$name]) {print" / $htmltag ";}} function characterData($parser, $data) {print $data;} $xml_parser = xml_parser_create(); / / use case-folding so we are sure to find the tag in $map_array xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, TRUE); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($file, "r"))) {die("could not open XML input");} while ($data = fread($fp, 4096)) {if (!xml_parse($xml_parser, $data, feof($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);?