通过使用php包含xsl-stylesheet来设置xml文件样式

时间:2013-11-30 11:05:13

标签: php xml xslt byte-order-mark

感谢这个有用的社区,我已经启用了xsl-stylesheet从我网站上的xml文件中提取一些元信息。当然,我不想直接在xml文件中编写样式表,这些文件应保持不变。另外,我不想在OxyGen中预处理文件并上传元信息文​​件。

所以我只是在metainfo.php中尝试过这个:

<?php echo '<?xml-stylesheet type="text/xsl" href="metainfo.xsl"?>'; include ('sample.xml') ?>

仍然,加载metainfo.php将显示整个xml文件。源代码看起来很好,但是当我复制它,将它保存为xml并在OxyGen中打开它时,代码中有一个小错误'',它实际上被称为BOM:

<?xml-stylesheet type="text/xsl" href="metainfo.xsl"?> <?xml-stylesheet type="text/xsl" href="metainfo.xsl"?>

这可能导致浏览器出现问题吗?或者是其他什么,更基本的?

1 个答案:

答案 0 :(得分:2)

经过一些额外的工作后,我自己想出了一个解决方案:

<?php
$signatur = $_GET['signatur'];
# LOAD XML FILE
$XML = new DOMDocument();
$XML->load( 'xml/'.$signatur.'.xml' );

# START XSLT
$xslt = new XSLTProcessor();

# IMPORT STYLESHEET 1
$XSL = new DOMDocument();
$XSL->load( 'metainfo.xsl' );
$xslt->importStylesheet( $XSL );

#PRINT
print $xslt->transformToXML( $XML );
?>