最近项目用到 XSL + XML,XML大家应该很熟悉,XSL暂且不解释,先看效果,如果想学习XSL的内容,可以先访问:

https://www.w3school.com.cn/xsl/xsl_languages.asp

创建XML文件

第一步,创建一个xml文件mycd.xml,里面存放数据模型

<?xml version="1.0" encoding="ISO-8859-1"?>
<mycds>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
</mycds>

创建XSL文件

第二步,创建一个xsl样式表文件mycds.xsl,解析要遍历的xml数据模型,以及要输出的文档样式

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="cds/cd">
<tr>
<td>
<xsl:value-of select="title"/>
</td>
<td>
<xsl:value-of select="artist"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

关联XML和XSL文件

第三步,在xml文件中引入xsl样式表。

<?xml-stylesheet type="text/xsl" href="mycds.xsl"?>

使用浏览器就可以正常解析了。效果预览:http://chsoul.gitee.io/test/xsl/mycds.xml

简单理解:

相比于我们熟悉的HTML + CSS ,可以类比为XML + XSL,区别在于HTML自身为纯静态资源,逻辑判断的需要JavaScript的支持,而XSL自身就拥有逻辑处理功能,而XSL也不仅仅局限于HTML格式的输出。

但是XSL发展至今还是被淘汰的技术,个人理解 XSL + XML体量太大,而且解析过程影响性能,耗费资源,不如json的轻量化。

最新文章

  1. 使用Executor管理线程
  2. B样条曲线曲面(附代码)
  3. 【UOJ #246】【UER #7】套路
  4. cf.VK CUP 2015.B.Mean Requests
  5. Android开发之通过反射获取到Android隐藏的方法
  6. CentsOS7 网络自动启动
  7. 使用vi是方向键变乱码 退格键不能使用的解决方法
  8. BZOJ 1342: [Baltic2007]Sound静音问题( 单调队列 )
  9. Azure 认知服务 (5) 计算机视觉API - 使用C#代码实现读取图片中的文字(OCR)功能
  10. 更新Android Studio 3.0碰到的问题
  11. 并发容器和框架之ConcurrentHashMap
  12. git 切换远程仓库,以及碰到的一个问题。
  13. 游戏人工智能编程案例精粹(修订版) (Mat Buckland 著)
  14. Link Between SAP SD, MM &amp; FI
  15. HYSBZ 4034 【树链剖分】+【线段树 】
  16. git从其他分支提取文件merge到当前分支
  17. &lt;构建之法&gt;第11、12章
  18. Fiddler抓包4-工具介绍(request和response)
  19. label文字居中
  20. MATLAB安装libsvm无法使用解决办法(转)

热门文章

  1. JavaScript 的用法
  2. Vue留言 checked框案列
  3. GitHub如何删除项目库Repositories
  4. Bitmap缩放(三)
  5. Jupyter Notebook使用教程
  6. 支持向量机SVM基本问题
  7. 一起学Vue:入门
  8. k8s部署之系统初始化(一)
  9. Java学习的第三十天
  10. Java学习的第十四天