• Tags , , , ,         
  • 2017-11-26  15:00:33        
  • 84 °C    

    xml用xsl转化为另一个xml或者html,实现页面的渲染 。其实我们说到现在,都是在说xml和xsl。XSL 是指扩展样式表语言(EXtensible Stylesheet Language)。包括三种,

    1. XSLT其中的T表示transfer,就是转换的意思,就是能把xml转换成另一个xml。

    2. XPath 一种用于在 XML 文档中定位的语言。

    3. XSL-FO一种用于格式化 XML 文档的语言。

    所以,我们是写xsl这种语言,把xml转换成另一个xml。至于转换有什么好处呢?为什么要转换呢?

    这是因为大多数情况下,很多系统存储数据的格式不一样,当我们要采用第三方的数据的时候,他们那边的数据格式和我们不一样怎么办这个时候就要采用xsl来转换成我们的数据格式了。比如我们上一节的xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <note degree="emergency">
    <to>
    <name>Arvin</name>
    <position level="senior">Software developer</position>
    </to>
    <from>
    <name>Coco</name>
    <position level="High">Project Manager</position>
    </from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting this weekend!</body>
    </note>

    通过下面的xsl就可以转换成另一个xml了(下面这个xml也是转换成一个html了):

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
    <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
    <th>name</th>
    <th>position</th>
    <th>position level</th>
    </tr>
    <tr>
    <td><xsl:value-of select="note/to/name"/></td>
    <td><xsl:value-of select="note/to/postion"/></td>
    <td><xsl:value-of select="note/to/postion/@level"/></td>
    </tr>
    </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

    上面重点可以看一下xsl:后面的语句,这些都是xsl里面常用的语句,网上也有很多基础的教程,这里就不详细说明了。转换之后的结果是下面这个xml(html),只是读取了对应的值,放到了对应的位置:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
    <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
    <th>name</th>
    <th>position</th>
    <th>position level</th>
    </tr>
    <tr>
    <td>Arvin</td>
    <td>Software developer</td>
    <td>High</td>
    </tr>
    </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

    只是要指出的是,上面这个xml其实是已经转换成html了,<html>, <body>,<h2>,等都是html的语言,这样大家就明白为什么可以用xslt来接收数据并且渲染页面了吧。

    本文内容来自:xml用xsl转化为另一个xml或者html,实现页面的渲染 – Break易站


    ---Author: Arvin Chen ---Web Address: www.breakyizhan.com (Break易站)

     
    转载请保留页面地址:https://www.breakyizhan.com/xml/357.html