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


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


申明:本区内容收集自网络,如有署名问题请速与我们(luokelong#it168.com)联系,感谢您的支持。
7上一页  下一页8

制作:罗可龙 电邮:luokelong(at)it168.com