第一步:先创建transform.xsl文件,并开启php xsl扩展
<!-- transform.xsl -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Persons List</h2>
<table border="1">
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<xsl:for-each select="root/person">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="age"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
以上transform.xsl文件用于指导如何将输入的 XML 文档转换为另一种格式,通常是 HTML 或另一种 XML 格式。
<?php
// 示例XML内容
$xml = '
<root>
<person>
<name>John</name>
<age>30</age>
</person>
<person>
<name>Jane</name>
<age>25</age>
</person>
</root>
';
// 加载XML文档
$doc = new DOMDocument();
$doc->loadXML($xml);
//使用 DOMDocument 类来加载 XML 字符串,并将其解析为 XML 文档对象。
// 加载XSL文档
$xsl = new DOMDocument();
$xsl->load('transform.xsl');
//同样使用 DOMDocument 类来加载名为 transform.xsl 的 XSLT 样式表文件。这一文件定义了如何将 XML 数据转换为 HTML 格式。
// 创建XSLT处理器并应用样式表
$xslt = new XSLTProcessor();
$xslt->importStylesheet($xsl);
//创建 XSLTProcessor 对象,并将 XSL 样式表导入到处理器中,以便对 XML 数据进行转换。
// 转换XML并输出结果
echo $xslt->transformToXML($doc);
//使用 transformToXML() 方法将 XML 数据应用 XSLT 样式表进行转换,生成 HTML 格式的输出结果,并通过 echo 语句输出该结果。
?>
(XML到HTML的简单转换,通过定义XSLT样式表来控制转换的输出格式和结构)