首先说下XSL的主要语句:
主要语句 | 含 义 |
xsl:stylesheet | 声明语句 |
xsl:template | 相当于编程中函数的概念 |
xsl:template match = "" | 相当于函数调用,去匹配引号中指定的节点 |
xsl:apply-templates | 应用模板函数 |
xsl:apply-templates select ="" | 应用模板函数的调用,跳转到引号中指定的模板 |
xsl:for-each select = "" | 循环语句,遍历与引号中的属性值相同的节点 |
xsl:value-of select = "" | 赋值语句,取出引号中指定的属性值 |
my.xml文件
<?
xml version
=
"
1.0
"
encoding
=
"
GB2312
"
?>
<? xml - stylesheet type = " text/xsl " href = " mystyle.xsl " ?>
< Books >
< Book ID = " a001 " >
< Type > True </ Type >
< Name > 网络指南 </ Name >
< Price > 13.2 </ Price >
</ Book >
< Book ID = " a002 " >
< Type > False </ Type >
< Name > 局域网技术 </ Name >
< Price > 25.5 </ Price >
</ Book >
</ Books >
这个就不再多说了,大家都应该知道的哈!
<? xml - stylesheet type = " text/xsl " href = " mystyle.xsl " ?>
< Books >
< Book ID = " a001 " >
< Type > True </ Type >
< Name > 网络指南 </ Name >
< Price > 13.2 </ Price >
</ Book >
< Book ID = " a002 " >
< Type > False </ Type >
< Name > 局域网技术 </ Name >
< Price > 25.5 </ Price >
</ Book >
</ Books >
mystyle.xsl
<?
xml version
=
"
1.0
"
encoding
=
"
GB2312
"
?>
// version-版本,encoding-语言
< xsl:stylesheet version = " 1.0 " xmlns:xsl = " http://www.w3.org/1999/XSL/Transform " >
< xsl:template match = " / " > // 匹配XML所有的节点
< html >
< body >
< table border = " 1 " bgcolor = " blue " >
< tr >
< th > Type1 </ th >
< th > Name </ th >
< th > Price </ th >
</ tr >
< xsl: for - each select = " Books/Book " >
// 循环Books/Book,可以取他的所有节点
< tr >
// 选择的一种
<!--< td >< xsl: if test = " Type1='True' " > 男 </ xsl: if ></ td >-->
< td >
// 选择的另一种,当Type1='True'时显示男,其它显示女
< xsl:choose >
< xsl:when test = " Type1='True' " >
男
</ xsl:when >
< xsl:otherwise >
女
</ xsl:otherwise >
</ xsl:choose >
</ td >
// 显示XML文件里Name节点的值
< td >< xsl:value - of select = " Name " /></ td >
< td >< xsl:value - of select = " Price " /></ td >
</ tr >
</ xsl: for - each >
</ table >
</ body >
</ html >
</ xsl:template >
</ xsl:stylesheet >
之后我们用浏览器打开XML文件,出现如下结果:
// version-版本,encoding-语言
< xsl:stylesheet version = " 1.0 " xmlns:xsl = " http://www.w3.org/1999/XSL/Transform " >
< xsl:template match = " / " > // 匹配XML所有的节点
< html >
< body >
< table border = " 1 " bgcolor = " blue " >
< tr >
< th > Type1 </ th >
< th > Name </ th >
< th > Price </ th >
</ tr >
< xsl: for - each select = " Books/Book " >
// 循环Books/Book,可以取他的所有节点
< tr >
// 选择的一种
<!--< td >< xsl: if test = " Type1='True' " > 男 </ xsl: if ></ td >-->
< td >
// 选择的另一种,当Type1='True'时显示男,其它显示女
< xsl:choose >
< xsl:when test = " Type1='True' " >
男
</ xsl:when >
< xsl:otherwise >
女
</ xsl:otherwise >
</ xsl:choose >
</ td >
// 显示XML文件里Name节点的值
< td >< xsl:value - of select = " Name " /></ td >
< td >< xsl:value - of select = " Price " /></ td >
</ tr >
</ xsl: for - each >
</ table >
</ body >
</ html >
</ xsl:template >
</ xsl:stylesheet >