网站首页 > 教程分享 正文
由于并非所有的浏览器都支持 XSLT,另一种解决方案是在服务器上完成 XML 至 XHTML 的转化。
跨浏览器解决方案
在前面的章节,我们讲解过如何在浏览器中使用 XSLT 来完成 XML 到 XHTML 的转化。我们创建了一段使用 XML 解析器来进行转换的 JavaScript。JavaScript 解决方案无法工作于没有 XML 解析器的浏览器。
为了让 XML 数据适用于任何类型的浏览器,我们必须在服务器上对 XML 文档进行转换,然后将其作为 XHMTL 发送回浏览器。
这是 XSLT 的另一个优点。XSLT 的设计目标之一是使数据在服务器上从一种格式转换到另一种格式成为可能,并向所有类型的浏览器返回可读的数据。
XML 文件和 XSLT 文件
请看这个在前面的章节已展示过的 XML 文档:
<?xml version="1.0" encoding="UTF-8"?><catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd>. .</catalog>
查看 XML 文件。
以及附随的 XSL 样式表:
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th style="text-align:left">Title</th> <th style="text-align:left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title" /></td> <td><xsl:value-of select="artist" /></td> </tr> </xsl:for-each> </table></xsl:template></xsl:stylesheet>
查看 XSL 文件。
请注意,这个 XML 文件没有包含对 XSL 文件的引用。
重要事项:上面这句话意味着,XML 文件可使用多个不同的 XSL 样式表来进行转换。
在服务器把 XML 转换为 XHTML
这是用于在服务器上把 XML 文件转换为 XHTML 的源代码:
使用 PHP 代码转换:
<?php// 载入 XML 文件$xml = new DOMDocument;$xml->load('cdcatalog.xml');// 载入 XSL 文件$xsl = new DOMDocument;$xsl->load('cdcatalog.xsl');// 设置转换$proc = new XSLTProcessor;// 添加 xsl 规则$proc->importStyleSheet($xsl);echo $proc->transformToXML($xml);?>
提示:假如您不了解如何编写 php,您可以学习我们的 ASP 教程。
使用 ASP 代码转换:
<%'载入 XML 文件 set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) '载入 XSL 文件set xsl = Server.CreateObject("Microsoft.XMLDOM")xsl.async = falsexsl.load(Server.MapPath("cdcatalog.xsl"))'转换文件 Response.Write(xml.transformNode(xsl))%>
提示:假如您不了解如何编写 ASP,您可以学习我们的 ASP 教程。
第一段代码创建了微软的 XML 解析器(XMLDOM)的一个实例,并把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,并把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并把结果作为 XHTML 发送到您的浏览器。太好了!
它是如何工作的。
- 上一篇: XML排版优势及技术报告(xml文档用什么编辑)
- 下一篇: XML 实例(xml应用实例)
猜你喜欢
- 2024-09-08 深圳尚学堂:干货来啦!JAVA常用代码(三)
- 2024-09-08 Web前端应该懂的JavaScript、Ajax、jQuery知识点!
- 2024-09-08 72 个网络应用安全实操要点,全方位保护 Web 应用的安全
- 2024-09-08 XSLT 实例(xsl:choose)
- 2024-09-08 JAVA历史版本(java历史版本列表)
- 2024-09-08 Ajax入门教程(非常详细)动力节点ajax教程,讲解全面
- 2024-09-08 如何在J2EE平台开发基于Velocity模板的Web应用
- 2024-09-08 前端 JS 之 AJAX 简介及使用(web前端ajax数据请求)
- 2024-09-08 网站开发必知流程项目开发(网站开发流程图)
- 2024-09-08 有同学问我:Fetch 和 Ajax 有什么区别?
你 发表评论:
欢迎- 最近发表
-
- IT之家学院:使用PIN或密码审批管理员权限
- Yarn 安装的时候提示错误 error:0308010C:digital envelope routines
- Windows常用的一些CMD运行命令(windows常见的命令)
- 电脑忘记开机密码10秒解决(戴尔电脑忘记开机密码10秒解决)
- 如何下载Windows 10聚焦提供的锁屏壁纸
- Windows CMD 命令大全:简单粗暴收藏!
- 系统小技巧:解决CHKDSK只读模式问题
- Windows的cmd都有哪些奇技淫巧?这22个CMD命令记得收藏起来!
- windows错误代码0x80072EE2?win10系统更新错误问题的处理方法
- Windows 10技术预览版快捷键方式汇总
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)