PHP将将 XML 映射为 HTML的代码实例

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

以下范例将 XML 文档中的标记符直接映射成 HTML 标记符。在“映射数组”中不存在的元素将被忽略。当然,该范例将只对一个特定的 XML 文档有效。

<?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();

// 使用大小写折叠来保证我们能在元素数组中找到这些元素名称

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);

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航