首页 > 开发 > PHP > 正文

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

2024-05-04 23:04:05
字体:
来源:转载
供稿:网友

  以下范例将 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);
?> 



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表