我的输入 xml 文件:
<root>
<child/>
</root>
我的预期输出将在视图页面源中:
<root>
<child>
<new_element>new1</new_element>
<new_element>new2</new_element>
<new_element>new3</new_element>
</child>
</root>
我在查看页面源中得到的实际输出:
<root>
<child><new_element>new1</new_element> <new_element>new2</new_element> <new_element>new3</new_element></child>
</root>
我的 xlst 代码是:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="test"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/root/child">
<xsl:copy>
<xsl:value-of select="$test"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
我的PHP代码是:
<?php
$xslt = new xsltProcessor;
$xslt->importStyleSheet(DomDocument::load('test.xsl'));
$val = '<new_element>new1</new_element> <new_element>new2</new_element> <new_element>new3</new_element>';
$xslt->setParameter('','test',$val);
echo $view = $xslt->transformToXML(DomDocument::load('test.xml'));
?>
通过在浏览器中运行它,我得到了不解析 xml 标签的输出。请找出我哪里出错了。