用XML存内容、XSLT转HTML可构建轻量CMS,适合静态站点;需定义XML结构、编写XSLT模板、在XML中引用样式,浏览器自动渲染,支持多模板、参数筛选及服务端扩展。

用XML和XSLT搭建一个简单的CMS,核心思路是把内容存为XML文件,用XSLT将这些数据转换成HTML页面。这种方式不依赖数据库,适合静态内容展示,比如博客、产品目录或公司介绍页。
1. 设计内容结构(XML)
先定义内容的XML格式。比如做一个文章管理系统,可以这样组织数据:
zuojiankuohaophpcn?xml version="1.0" encoding="UTF-8"?><cms>
<article id="1">
<title>欢迎使用XML CMS</title>
<date>2025-04-05</date>
<content>这是一个基于XML和XSLT的简单内容系统……</content>
</article>
<article id="2">
<title>第二篇文章</title>
<date>2025-04-06</date>
<content>你可以轻松添加新文章。</content>
</article>
</cms>
把这类文件保存为 content.xml,后续可手动或通过脚本更新。
2. 编写样式模板(XSLT)
XSLT负责将XML转为网页。创建一个 template.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="/cms">
<html>
<head><title>我的CMS站点</title></head>
<body>
<h1>文章列表</h1>
<xsl:for-each select="article">
<div class="article">
<h2><xsl:value-of select="title"/></h2>
<p class="date"><xsl:value-of select="date"/></p>
<div class="content"><xsl:value-of select="content"/></div>
</div>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
这个模板会遍历所有文章并生成HTML页面。
3. 在网页中应用转换
让浏览器自动执行XSLT转换。在 content.xml 开头加入引用:
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="template.xsl"?>
<cms>
<article id="1">
<title>欢迎使用XML CMS</title>
...
现在直接打开 content.xml,浏览器会加载 XSLT 并显示格式化后的网页。
4. 扩展功能建议
虽然基础,但可以进一步增强:
- 用多个XSLT文件实现不同页面(如首页、详情页)
- 通过参数控制输出,例如只显示某一篇文章:
<xsl:if test="@id = $articleId"> - 配合JavaScript动态加载不同XML片段
- 用服务器端语言(如PHP)执行XSLT,避免浏览器兼容问题
- 提供表单让用户编辑内容并保存为XML(需后端支持)
基本上就这些。这种方案轻量、易维护,适合小项目或学习用途。不需要复杂后台,改内容只需编辑XML,换样式就改XSLT。










