XSL格式化XML输出

【实验目的】

掌握XSL格式化XML输出的一般设计。

【实验环境】

VS.NET

【设计参考】

  • 设计XML文件
  •  设计XSL文件
  •  运行效果


源代码如下:

a.xml

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="b.xslt"?>
<xml>
<TITLE0>五言绝句</TITLE0>
<poetry>
    <TITLE1>静夜思</TITLE1>
    <author>李白</author>
    <content>
    <verse>床前明月光,疑是地上霜。</verse>
    <verse1>举头望明月,低头思故乡。</verse1>
    </content>
</poetry>

<poetry>
    <TITLE1>登鹳雀楼</TITLE1>
    <author>王之涣</author>
    <content>
    <verse>白日依山尽,黄河入海流。</verse>
    <verse1>欲穷千里目,更上一层楼。</verse1>
    </content>
</poetry>

<poetry>
    <TITLE1>相思</TITLE1>
    <author>王维</author>
    <content>
    <verse>红豆生南国,春来发几枝。</verse>
    <verse1>愿君多采撷,此物最相思。</verse1>
    </content>
</poetry>
</xml>

b.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <html> 
      <head> 
        <title>五言绝句</title>
      </head> 
      <body> 
          <xsl:apply-templates select="xml"/>
      </body>
    </html>
  </xsl:template>
  <xsl:template match="xml">
    <div>
      <TITLE0><xsl:value-of select="TITLE0"/></TITLE0>
      <xsl:for-each select="poetry" >
          <poetry>    
              <TITLE1><xsl:value-of select="TITLE1"/></TITLE1>
              <author><xsl:value-of select="author"/></author>
              <content>
                  <xsl:value-of select="content/verse"/><br/>
                  <xsl:value-of select="content/verse1"/>
              </content>
          </poetry>
      </xsl:for-each>
    </div>
 <style>
    TITLE0 {
        font-size: 25px;
    }
    TITLE1 {
      text-decoration: underline;
    }
    author{
        font-style:italic;
    }
    poetry {
        border: 6px solid rgb(10, 10, 10);
        margin: 5px;
        background-color:grey;
        width: 800px;
    }
    div , poetry , content{
        display: flex;
        flex-direction: column;
    }
    TITLE1 , author, content , poetry , TITLE0 {
        align-self: center;
    } 
    div {
      justify-content: center;
    }  
 </style>
 </xsl:template>
</xsl:stylesheet>

运行结果:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值