使用XSL的value-of 显示XML文档

原创 2006年05月29日 23:02:00

1.XML文件内容

<?xml version="1.0" encoding="GB2312" ?>
<?xml-stylesheet type="text/xsl" href="book.xsl"?>

<BookLib>
 <Book>
  <Title>Windows程序设计</Title>
  <Author> 好孩子</Author> 
  <PressDate>2000年5月1日</PressDate>
  <Price>49.00元</Price>
 </Book>
 <Book>
  <Title>深入潜出XML</Title>
  <Author> 老虎工作室</Author> 
  <PressDate>2006年10月1日</PressDate>
  <Price>28.00元</Price>
 </Book>
 <Book>
  <Title>人工智能技术导论</Title>
  <Author> 廉师友</Author> 
  <PressDate>2006年5月20日</PressDate>
  <Price>18.00元</Price>
 </Book>
 <Book>
  <Title>IBM汇编程序设计</Title>
  <Author> 沈美名</Author> 
  <PressDate>2000年5月27日</PressDate>
  <Price>34.80元</Price>
 </Book>
</BookLib>

上面的XML文档定义了一个根节点为BookLib,有四个Book子元素的树,其中Book元素又有Title,Author,PressDate,

Price等四个子元素.

2.XSL文档

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="
http://www.w3.org/TR/WD-xsl">
 <xsl:template match="/">
  <html>
   <xsl:apply-templates/>
  </html>
 </xsl:template>
 <xsl:template match="BookLib">
  <body>
   <xsl:apply-templates/>
  </body>
 </xsl:template>
 <xsl:template match="Book">
  <xsl:apply-templates select="Title | Author"/>
 </xsl:template>
 <xsl:template match="Title">
  <Font size="3" color="#0000FF">
   <BR/>
   <xsl:value-of select="."/>
  </Font>
 </xsl:template>
 <xsl:template match="Author">
  <Font size="3" color="#FF0000">
   <BR/>
   <xsl:value-of select="."/>
  </Font>
 </xsl:template>
 <xsl:template match="PressDate">
  <Font size="3" color="#FF00FF">
   <BR/>
   <xsl:value-of select="."/>
  </Font>
 </xsl:template>
 <xsl:template match="Price">
  <Font size="3" color="#999999">
   <BR/>
   <xsl:value-of select="."/>
  </Font>
 </xsl:template>
</xsl:stylesheet>

XSL文档的第一个模板一般是匹配根结点的,语法为match="/"

<xsl:apply-templates/>表示如果有匹配的元素话,依次匹配所有定义的模板

<xsl:template match="Book">
  <xsl:apply-templates select="Title | Author"/>
 </xsl:template>

这几行表示匹配的元素是Book,对Title或者Author元素如果有匹配的模板则匹配,
<xsl:template match="Title">
  <Font size="3" color="#0000FF">
   <BR/>
   <xsl:value-of select="."/>
  </Font>
这几行表示如果匹配的元素是Title的话,xsl:value-of select="."这行表示显示Title的所有子元素,

注意Title可能有子元素,上面的例子Title没有子元素则显示Tilte内容

<xsl:template match="Price">
  <Font size="3" color="#999999">
   <BR/>
   <xsl:value-of select="."/>
  </Font>
 </xsl:template>
这几行表示匹配Price元素,注意在本例中,由于匹配Book元素的模板 只选择了Tilte和Author元素,所以在本例中

Price元素不会显示的!!

小结:写XSL文档中一般从根结点到具体的元素来一个一个匹配,有点从大到小的味道,大家慢慢体会

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

利用XSL双向转换XML文档

出处:http://www.cnblogs.com/erqie/articles/1144143.html 在实际应用中,经常要用到XML文件来存储相关的信息.而XML文件可以有三种结构: 1...

cocos2d-x 3.0 使用Sax解析xml文档(解决中文显示问题)

今天是个好日子,心想的事儿都能成,明天是个好日子,打开了家门儿迎春风。。。 恩,听着歌写文档生活就是这么享受。 今天以前的邻居大神突然在qq上赞了我一下,这让我异常激动啊。。这还要从前前前几天说起,那...

使用dic集合 加载xml文档 并显示至TreeView控件

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

HTML表格中绑定显示XML文档内容的简单实例

W3C中关于XML数据转换显示的有关内容。

使用Java解析XML文档

导入的 public static void main(String[] args) { // 1、得到DOM解析器的工厂实例 DocumentBuilderFactory dbf = Docu...

使用DOM解析XML文档

  • 2012-04-03 22:32
  • 1.22MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)