1
<?
xml version="1.0"
?>
2
<
xsl:stylesheet
version
="1.0"
xmlns:xsl
="http://www.w3.org/1999/XSL/Transform"
>
3
<!--
4
模板名称:replacing-substring。
5
模板作用:替换指定文本的特定字符。
6
参数列表:text表示要处理的文本;from表示要替换的目标字符;to表示替换的结果字符。
7
-->
8
<
xsl:template
name
="replacing-substring"
>
9
<
xsl:param
name
="text"
/>
10
<
xsl:param
name
="from"
/>
11
<
xsl:param
name
="to"
/>
12
<
xsl:choose
>
13
<
xsl:when
test
="contains($text,$from)"
>
14
<
xsl:value-of
select
="substring-before($text,$from)"
/>
15
<
xsl:copy-of
select
="$to"
/>
16
<
xsl:call-template
name
="replacing-substring"
>
17
<
xsl:with-param
name
="text"
select
="substring-after($text,$from)"
/>
18
<
xsl:with-param
name
="from"
select
="$from"
/>
19
<
xsl:with-param
name
="to"
select
="$to"
/>
20
</
xsl:call-template
>
21
</
xsl:when
>
22
<
xsl:otherwise
>
23
<
xsl:copy-of
select
="$text"
/>
24
</
xsl:otherwise
>
25
</
xsl:choose
>
26
</
xsl:template
>
27
</
xsl:stylesheet
>
这里只写出了一个方法,以后有更多的方法可以加入到这个文件中,我把它命名为Common.xslt![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
在需要的地方import进来:
1
<?
xml version="1.0"
?>
2
<
xsl:stylesheet
version
="1.0"
xmlns:xsl
="http://www.w3.org/1999/XSL/Transform"
>
3
<
xsl:import
href
="Common.Xslt"
/>
4
<
xsl:template
match
="stories"
>
5
<
table
>
6
<
td
>
7
<
xsl:call-template
name
="replacing-substring"
>
8
<
xsl:with-param
name
="text"
select
="story[1]/text()"
/>
9
<
xsl:with-param
name
="from"
>
|
</
xsl:with-param
>
10
<
xsl:with-param
name
="to"
><
br
/></
xsl:with-param
>
11
</
xsl:call-template
>
12
</
td
>
13
</
table
>
14
</
xsl:template
>
15
</
xsl:stylesheet
>
作用就是把story的文本值里的|符号替换成<br />,我把这个文件命名为:project.xslt![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
使用这个xsl文件的示例XML文件如下:
1
<?
xml version="1.0"
?>
2
<?
xml-stylesheet type="text/xsl" href="project.xslt"
?>
3
<
stories
>
4
<
story
>
5
1,从前有一条村|村里有一户人家|家里有个小孩子
.
6
</
story
>
7
<
story
>
8
2,从前有一条村|村里有一户人家|家里有个小孩子
.
9
</
story
>
10
</
stories
>
11
在IE里显示的效果如下:![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/dot.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/dot.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
1,从前有一条村
村里有一户人家
家里有个小孩子
![](https://www.cnblogs.com/Images/dot.gif)
参考:
C# XML入门经典 清华大学出版社
XSLT精要 清华大学出版社
注意:以上的XML代码的<后面,以及>前面都是没有空格,文章里显示的空格是FTB Editor的问题