我有一个 xml 文档,我对其进行转换、在浏览器中查看并保存到目录中。
我想将链接的样式表添加到文件的保存版本。我已经尝试了 str_replace 如下(可能使用不正确)并且还使用了 xsl 处理指令。
xsl 处理指令在一定程度上起作用,如果您在浏览器中查看源代码,您会看到样式表链接,但是它不会将此信息保存到保存的文件中!
我要做的就是获取原始 xml 文件,使用样式表对其进行转换,将其保存到一个目录并将 xsl 样式表附加到新文件的标题中,因此当在浏览器中打开新保存的 xml 文件时,样式表会自动应用。希望这是有道理的!
我的代码如下。
//write to the file
$id = $_POST['id'];//xml id
$path = 'xml/';//send to xml directory
$filename = $path. $id . ".xml";
$header = str_replace('<?xml version="1.0" encoding="UTF-8"?>', '<?xml version="1.0" encoding="UTF-8" ?><?xml-stylesheet type="text/xsl" href="../foo.xsl"?>');
$article->asXML($filename);//saving the original xml as new file with posted id
$xml = new DOMDocument;
$xml->load($filename);
$xsl = new DOMDocument;
$xsl->load('insert.xsl');
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
提前致谢!