客户端 XML+XSLT转换输出HTML

本文介绍了XML(可扩展标记语言)及其与HTML的区别,重点在于XML用于存储数据的特点。同时,文章详细解释了XSL(可扩展样式表语言),一种用于以可读格式展示XML数据的语言,并通过实例展示了如何使用XSLT转换XML文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]XML(extensible markup language):[/b]是一种简单的数据存储语言,使用一系列简单的标记描述数据.
XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。而HTML是用来定义数据的,重在数据的显示模式。
[b]XSL():[/b]是一种用于以可读格式呈现 XML 数据的语言,XSL对于XML,就像CSS对于HTML一样格式化显示的数据。
[i]
看下面的小实例:[/i]

XML文件people.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml:stylesheet type="text/xsl" href="person.xsl"?>
<people>
<person id="1">
<first-name>Michael</first-name>
<last-name>Yintel</last-name>
<telephone>15888888888</telephone>
</person>
<person id="2">
<first-name>Jane</first-name>
<last-name>Smith</last-name>
<telephone>910-521-1211</telephone>
</person>
<person id="3">
<first-name>James</first-name>
<last-name>NroBu</last-name>
<telephone>222-111-3333</telephone>
</person>
</people>

XSL文件person.xsl,类似html中的CSS,主要是对XML中数据显示方式进行定义:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="people">
<table border="1" width="100%">
<tr>
<th>ID</th>
<th>Name</th>
<th>Phone</th>
</tr>
<xsl:for-each select="person">
<tr>
<td align="center">
<xsl:value-of select="@id"/>
</td>
<td align="center">
<xsl:value-of select="last-name"/>,
<xsl:value-of select="first-name"/>
</td>
<td align="center">
<xsl:value-of select="telephone"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

在浏览器支持XML的情况下,
在people.xml文件中删除<?xml:stylesheet type="text/xsl" href="person.xsl"?>这句,页面将直接输出xml语言;
而添加<?xml:stylesheet type="text/xsl" href="person.xsl"?>,可以看到页面显示了格式化后的html页面。

另外XSL包含两部分: * XSLT – 用于转换 XML 文档的语言
   * XPath – 用于在 XML 文档中导航的语言
[b]XSLT(EXtensible Stylesheet Language Trasform)[/b]:是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。
[b]XPath:[/b] 是一种用于在 XML 文档中进行导航的语言。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值