当前位置:Gxlcms > PHP教程 > 基于xml+xslt+css+php快速构建可扩展网站_PHP教程

基于xml+xslt+css+php快速构建可扩展网站_PHP教程

时间:2021-07-01 10:21:17 帮助过:19人阅读

1.让数据与显示分离 test.xml 数据: test title test content banner sidebar main body end of the page test.xslt 模板: test ]]> 2.网页自动生成 php 程序读入config文件根据文件中指定的目标文件名 和 数据文件名 以及 模板文件名生成目标页面 config 文件: test.html test.xml test.xslt php 代码: load(”$xsl”); $xmlDoc = new DOMDocument(); $xmlDoc->load(”$xml”); $proc = new XSLTProcessor(); $proc->importStylesheet($xslDoc); $html = $proc->transformToXML($xmlDoc); if (!($filehandler = fopen($name, “w+”))) { die(”could not open $name output”); } fwrite($filehandler, $html); fclose($filehandler); } $parser = xml_parser_create(); xml_set_element_handler($parser, “startElement”, “endElement”); xml_set_character_data_handler($parser, “characterData”); if (!($filehandler = fopen($xml_file, “r”))) { die(”could not open XML input”); } while ($data = fread($filehandler, 4096)) { if (!xml_parse($parser, $data, feof($filehandler))) { die(sprintf(”XML error: %s at line %d”, xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } } fclose($filehandler); xml_parser_free($parser); foreach ($arr as $sub_arr) { $i = 0; foreach ($sub_arr as $obj) { if ($i == 0) { $name = $obj; } if ($i == 1) { $xml = $obj; } if ($i == 2) { $xsl = $obj; } $i++; } buildHtml($name, $xml, $xsl); } ?> 3.重新规划整个页面
\
这样的分拆式设计可以使页面更灵活,随意修改任何部分都不会影响到其余的块,并且可以不断变换其中的某个块的数据 比如:body.xml 来生成更多新的页面, 特别适合新闻系统或论坛使用 top.xml:

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486275.htmlTechArticle1.让数据与显示分离 test.xml 数据: xml titletest title/title contenttest content/content topbanner/top leftsidebar/left bodymain body/body endend of the page/end /xml test...

人气教程排行