过江的博客
posts - 156, comments - 177, trackbacks - 14, articles - 1
博客园
::
首页
::
新随笔
:: ::
订阅
::
管理
XSLT基本语法和第一个实例
Posted on 2007-08-22 19:45
过江
阅读(137)
评论(0)
编辑
收藏
所属分类:
XSLT、XML
人家都说XSLT转换技术是XML的一项重要技术,俺也没有机会在项目里运用,就在网上瞎搜搜,找点学习学习,所以下面我写的自己的学习结果有可能跟哪位老兄有些许雷同,纯属巧合哈,先申明。
首先说下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
>
这个就不再多说了,大家都应该知道的哈!
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文件,出现如下结果:
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
另存
打印
所属分类的其他文章:
·
XSLT基本语法和第一个实例
·
XML文件操作篇
最新IT新闻:
·
腾讯CEO马化腾:中国互联网业准备再过冬
·
F8 Keynote Speech[多图]
·
奥运核心资源被分食 搜狐央视网谁忽悠谁?
·
微软推新型搜索技术"BrowseRank"挑战谷歌
·
2008年7月26日IT博客精选
博客园新闻频道
博客园首页
社区
Powered by:
博客园
Copyright © 过江
日历
<
2007年8月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
与我互动
给我发短消息
随笔分类
(158)
.net Remoting(9)
Ajax(13)
asp.net2003 C#经典方法(57)
CodeSmith使用实例(13)
EXCEL、WORD与SQL(11)
JavaScript、Css(17)
Log4Net入门介绍(1)
MSMQ(3)
ORM框架使用实例(4)
PowerDesigner
Vs2005 C#(13)
WebService(5)
XSLT、XML(2)
版本管理软件(VSS,SVN等)(3)
单元测试(1)
感悟人生(6)
随笔档案
(156)
2008年5月 (1)
2008年2月 (1)
2007年10月 (1)
2007年9月 (2)
2007年8月 (10)
2007年7月 (17)
2007年6月 (22)
2007年5月 (22)
2007年4月 (26)
2007年3月 (16)
2006年11月 (1)
2006年10月 (5)
2006年9月 (1)
2006年8月 (6)
2006年6月 (25)
积分与排名
积分 - 52052
排名 - 782
最新随笔
1. 请问在用C#+Mapx开始,怎样根据图元名称获得该图元已经选中的图元
2. C#基础:ref和out的区别
3. 仿163邮箱的alert提示,beta1.1 (转)
4. 好久都没有写东西了
5. 终于用上CodeSmith4.0了,跟大家一起分享
6. XSLT基本语法和第一个实例
7. 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)(转)
8. 动态地生成用户输入的函数表达式(C#) (转)
9. 画函数图形的C#程序(改进版) (转)
10. 画函数图形的C#程序,兼论一个病态函数 (转)
最新评论
1. re: .Net REmoting(4)配置文件
另外,客户端添加对服务端的引用是如何添加的?
--HPang