XSLT是专用于转换XML文档的样式语言,通过XSLT文件定义XML到HTML的映射规则;需准备XML源文件和XSLT样式文件,利用match、select和xsl:apply-templates实现结构化转换,并支持浏览器直接预览或命令行批量处理。

XSLT 是专门用来转换 XML 文档的样式语言,核心思路是:用 XSLT 文件(本质是 XML)描述“怎么把源 XML 的每个元素变成 HTML 的对应结构”。只要写对匹配规则和输出模板,浏览器或工具就能自动完成转换。
准备两个基础文件
你得有两样东西:
– 一个 XML 源文件(比如 data.xml),含原始数据;
– 一个 XSLT 文件(比如 style.xsl),定义怎么把它转成 HTML。
- XML 示例(data.xml):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<books>
<book id="1">
<title>深入浅出XSLT</title>
<author>张三</author>
</book>
</books>
- XSLT 示例(style.xsl):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><body>
<h2>图书列表</h2>
<xsl:apply-templates select="books/book"/>
</body></html>
</xsl:template>
<xsl:template match="book">
<p><strong><xsl:value-of select="title"/></strong> — <xsl:value-of select="author"/></p>
</xsl:template>
</xsl:stylesheet>
关键语法就这三类
不用记全部,先掌握最常用的:
-
match=:指定“匹配哪段 XML”,比如
match="/"匹配根节点,match="book"匹配所有 book 元素; -
select=:在匹配后“选中某个值”,比如
select="title"取 title 元素的文本内容; - <xsl:apply-templates>:触发子元素的模板处理,相当于“递归进入下一层”。
浏览器里直接预览(免服务器)
把 data.xml 和 style.xsl 放在同一文件夹,用浏览器打开 data.xml 就能看到 HTML 效果——前提是 XML 第二行写了 <?xml-stylesheet ... ?> 关联语句。Chrome、Firefox 都支持(Edge 也行,旧 IE 可能需开启本地文件权限)。
命令行或程序里批量转换
想脱离浏览器、做自动化?推荐用 xsltproc(Linux/macOS 自带)或 Saxon(Java 环境,支持 XSLT 2.0/3.0):
立即学习“前端免费学习笔记(深入)”;
- 终端运行:
xsltproc style.xsl data.xml > output.html - 生成的 output.html 就是纯 HTML,可直接部署或进一步处理。
基本上就这些。不复杂但容易忽略细节:XML 命名空间、空格处理、字符编码要一致,不然可能显示空白或报错。











