>php教程 >php手册 >PHP将将 XML 映射为 HTML的代码实例

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

WBOY
WBOY원래의
2016-06-21 08:59:52908검색

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

$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 "";
   }
}

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



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.