xml内容显示的4种方法

CSS(叠层样式表)和XSL(可扩展样式语言)都可以定义XML文件的显示.

如果一个XML文件仅仅用于交换信息,就无需考虑它的显示问题。编辑XML文件,我们仅仅需要关注文件的内容、信息的结构,至于它怎么显示,则交给CSS(叠层样式表)和XSL(可扩展样式语言)来完成。此外使用数据岛技术与javascript也能定制xml的内容显示,这就使得用户可以根据需要来定义数据的表现形式。

1)用css来显示xml

具体的语法如下:〈?xml-stylesheet href="URL"type="text/css"?〉其中,xml-stylesheet是关键字,表明引用样式表设定;href="URL"用来指定样式表所在的位置.

使用步骤:

a)       建立样式表档案.(*.css)

b)      css连接到xml文件。(使用上面的语法)

示例:http://www.leftworld.net/online/xml/xml_cn/xml_display.asp.htm

2)用xsl来表示xml

XSL是怎样工作的呢?XML文件在展开后是一种树状结构,称为原始树XSL处理器(现在只有IE5支持XSL,在IE5中的处理器叫:XSLStylesheetProcessor)从这个树状结构读取信息,根据XSL样式的指示对这个原始树进行排序、复制、过滤、删除、选择、运算等操作后产生另外一个结果树,然后在结果树中加入一些新的显示控制信息,如表格、其他文字、图形以及一些有关显示格式的信息。XSL处理器根据XSL样式表的指示读取XML文件中的信息,然后再重新组合后转换产生一个Well-FormedHTML文件。

XSL由三部分组成: XML文档转换(XML Document Transformation ,又叫XSLT,模式匹配语法( a pattern matching syntax ,又叫XPath), 格式话对象( a formatting object interpretationXSL FO)。

 

具体的语法如下:〈?xml-stylesheet href="URL"type="text/xsl"?〉其中,xml-stylesheet是关键字,表明引用样式表设定;href="URL"用来指定样式表所在的位置.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> xmlns:xsl="http://www.w3.org/TR/WD-xsl"这一句主要用来说明该XSL样式表是使用W 3C 所制定的XSL,设定值就是XSL规范所在的URL地址。

1.       xsl:stylesheet:作为XSL样式表中的根元素,在每个XSL文件中都必须有。

2.       xsl:template:指定XML文件中的特定标记来定义排版样式。

属性:language:指定使用哪种脚本语言。
match
:设定从XML文件中哪个标记开始来读取信息,如果值为“/”那么表示从XML文件的根元素开始读取信息。

3.xsl:value-of:从XML文件中的特定标记中将信息读出来。

属性:select:设定读取哪一个标记中的信息。
例:〈xsl:templateselect="title"〉:表示要从〈title〉标记中将信息读出来。

4.xsl:for-each:将排版样式应用到XML文件中相同的标记(类似于循环语句)。

属性:select:设定从哪一个标记中读取数据。
order-by
:在读取信息完成之后,设定依据什么标记来进行排序,值为某一特定标记,如在标记名前用“+”号表示是由大到小的排序,反之用“-”号。

5.xsl:comment:在此元素中的内容,XSL将它作为注释信息,并不显示在浏览器中。

6.xsl:apply-templates:指示XSL处理器在该XSL样式表中寻找合适的〈xsl:template〉中设定的样式来用。

7.xsl:copy:从XML文件中拷贝标记中的信息到输出的文件中。无属性。

8.xsl:if:与一般程序中的If...Then类似。

语法:

<xsl:if expr="script-expression" language="language-name" test="pattern">

属性:

expr ── 脚本语言表达式,计算结果为"""";如果结果为"",且通过test,则在输出中显示其中内容(可省略此项属性)。

language ── expr属性中表达式的脚本语言类型,其取值与HTML标记SCRIPTLANGUAGE属性的取值相同,缺省为"JScript"

test ──源数据测试条件。

9.xsl:choosexsl:whenxsl:otherwise:这三个元素是用来设定较为复杂的条件式,一般共同配合使用。其中xsl:whenscriptlanguagetest三种属性,与前面xsl:if中的属性含义是一样的。

10.xsl:attributexsl:element:可以在标记中附加一个属性名称或新建一个标记。XSL样式表不但可以引用HTML标记,而且也可以建立新的标记和属性,然后一起结合XML文件中的信息来显示。其中,xsl:attribute是在标记中新增一个属性,xsl:element是新建一个标记。它们有共同的属性。

示例:

使用步骤:

c)      建立xsl样式档案表

d)      xsl样式表连接到xml文件。(使用上面的语法)

3) xml数据岛技术

       xml所谓的数据岛就是在html网页中嵌入XML的一种技术。

使用步骤:

1 XML文档载入数据岛

<xml src="cd_catalog.xml" id="xmldso" async="false">
  
  
</xml>
  
  

使用上面示例代码,可以把cd_catalog.xml文件载入一个叫"xmldso"的数据岛中

 

2 XML数据绑定到HTML的表格元素中

XML数据绑定到table元素,需要在table属性添加一个资源属性,并且在span元素中添加字段属性: <span><div>元素都可以用来显示XML数据。

<table datasrc="#xmldso" width="100%" border="1">
  
  

<td><span datafld="YEAR"></span></td>

<span datasrc="#xmldso" datafld="YEAR"></span>

<div datasrc="#xmldso" datafld="YEAR"></div>

此外,ie5以上的浏览器也支持在html文本中加入xml数据格式,然后本地解析。有2种形式:

a)上面那种数据岛的本地数据形式。

Eg:

<xml id='ShareInfo'>

  <!-xml data --!

</xml>

<table datasrc="#ShareInfo" >

  <!-span, div元素,元素属性datafld 来获取数据--!>

</table>

 

b)xsl的遍历来获取数据

Eg:

< XML   id =mxhxsl>  
<?xml  version ="1.0" ? >   
< xsl:stylesheet  xmlns:xsl ="http://www.w3.org/TR/WD-xsl" >   
< xsl:template   match ="/" >   

< table >
< tr >
       
< th  onclick ="sort('Type')"   style ="cursor:hand"  align ="center" >                                   
       
< xsl:element  name ="input" >
              
< xsl:attribute  name ="type" > button </ xsl:attribute >
              
< xsl:attribute  name ="name" > nameBut </ xsl:attribute >
              
< xsl:attribute  name ="value" > 按纽中显示的值 </ xsl:attribute >
              
< xsl:attribute  name ="title" > title </ xsl:attribute >
       
</ xsl:element >                
       
</ th >
</ tr >
       
< xsl:for-each   select ="子元素的路径"   order-by ="子元素" >  
       
< tr >
          
< td  >< xsl:value-of   select ="子元素" /></ td >   
       
</ tr >
       
</ xsl:for-each >  
</ table >    

 

备注html文本中的html中的对象<input type="TYPE" name="NAME" value="VALUE">

xsl中要表达成这样

<xsl:element name="input">

<xsl:attribute name="type">TYPE</xsl:attribute name>

<xsl:attribute name="name">NAME</xsl:attribute name>

<xsl:attribute name="value">VALUE</xsl:attribute name>

</xsl:element>

此外:xsl中还可自定义元素及属性。

4) javascript来显示xml数据

下面的代码可以将一个XML文档或xml字符串载入解析器:

< script type = " text/javascript " >
var  xmlDoc  =   new  ActiveXObject( " Microsoft.XMLDOM " )
xmlDoc.async
= " false " xmlDoc.load( " note.xml " )  // 此处装载为一xml文档,使用
loadxmlDoc.loadXML(text)    // var text,此外装载为一xml字符串,使用loadXML 
//
 ....... processing the document goes here
//
nodes=xmlDoc.documentElement.childNodes
//
to.innerText=    nodes.item(0).text
</ script >

 

http://www.leftworld.net/online/xml/xml_cn/tryit.asp-filename=note.htm

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
扩展标记语言(Extensible Markup Language, XML)作为一计算技术出现不过是短短几年前的事情。它是一概念,以其简便性而颇得人心,它驱动了Internet应用程序编写方式的动态改变。本书的覆盖范围本书解释和演示了设计、使用、显示XML文档所必需的技术。首先也是最重要的,本书覆盖了万维网协会(W3C)整理编撰的XML的全部基础内容。W3C是以正统方式发明XML的标准主体并在不断开发XML的规范。虽然有越来越多的XML社团在不断涌现并提出崭新的超出W3C控制之外的与XML相关的想法,但W3C对于XML的开发来说,仍然是非常重要并处于中心地位的。本书的焦点集中在如何使XML与现实生活中的应用结合在一起。它展示了很好的设计技术,演示了如何在支持XML的应用程序与Web应用程序和数据库系统之间提供接口。它研究了XML的尖端部分并预览了一些新兴技术。不管你的需要是针对数据交换还是显示样式化,本书都会覆盖XML领域的所有相关技术。本书中的每一章都包含一个实践范例。由于XML是一独立于平台的技术,所有这些例子覆盖了各语言、解析器和服务器。所有的技术都与所有的平台有着某关系,所以即便它们不是在你最习惯的平台上实现的,你仍然可以从这些例子中得到许多有益的知识。本书的读者群本书适用于任何希望使用XML构建应用程序和系统的读者。Web站点的开发者能够学到把自己的站点提高一个层次的技术,而编程者和软件系统程序员能够学到XML如何和他们的系统相配合,以及如何使用它来解决应用程序集成中的问题。 XML应用程序天生就具备分布性而且通常是面向Web的。本书并不是一本专注于分布式系统或Web开发的著作,所以你不必深入了解这些领域的内容。大概了解Web中的多层结构和网络互联就已经足够了。本书中的样例使用了各各样的编程语言和技术。XML之所以吸引人,很重要的一点就在于它是独立于平台和语言的。如果你做过一些Web开发,肯定会发现其中的某些例子你曾经用自己偏爱的语言编写过。如果你没有发现针对自己的平台的任何例子,也不要担心。用于XML的工具已经有了Perl、C++、Java、JavaScript和任何支持COM的语言版本。Microsoft Internet Explorer(主要是5.0或更新的版本)拥有很强的XML内置功能,而Mozilla浏览器也有类似的支持。XML工具还深入到了主要的关系型数据库管理系统,以及Web和应用程序服务器当中。如果本书没有涉及到你的平台,学习XML的基础并掌握例子中所包含的技术,就能够把学到的经验应用到任何普通的计算平台上。本书的组织结构本书的每一章都有一个关于XML的单独主题。第1章提供了XML主要特点的概念性介绍。第2章和第3章关系非常密切,因为它们都涉及XML的基础。第2章涉及XML的基本语法和规则。第3章提供了正式定义针对自己特定问题的XML词汇表的工具。但是,此后的章节因本身介绍的技术和技巧的不同相对非常独立。本书的主要章节是和一个统一的例子紧密相关的。这个例子假设一个出版商希望用XML表单显示自己的数据目录。开始时,我们设计出目录中书籍的描述规则,然后构建那些规则逐个演示每技术是如何帮助我们构建XML应用程序的。你将看到书籍目录如何转变成文档,每个文档如何用代码操作和访问,它们的内容如何样式化以便于人们阅读。既然从实践来说,这类应用程序不可能凭空存在,所以我们将看到XML应用程序如何与数据库接口。这些是贯穿全书的、在此后的章节中将重点突出的几个主线。这使得你能够在通读全书时把注意力集中在那些对于你非常重要的问题上,而跳过其他章节。学习主线 XML是从一简单的文档标记语言逐步发展成为涉及范围广泛的标记技术的。这成长也正是XML应用程序的强大所在。但是,随着这成长也出现了分歧。不同的读者可能会抱着不同的期待来阅读本书。XML对于不同的人来说是完全不同的事情。虽然我们希望大家能够逐章地阅读全书,但这并不是必须的。实际上,对于任何接触本书的人来说这都不是最好的方式。本书是由从一个核心辐射出去的三个主线组成的。读者当然可以从第1章开始,然后按顺序逐章阅读到最后一章,但读者也可以根据自己的需要找到一个更为直接的途径。每个人应该阅读本书的核心章节以理解XML包含的基本内容。以此作为开始,你可以从数据的角度或者从内容的可视化和样式化这个角度来了解XML。 1. 核心第2章(XML)和第3章(DTD)覆盖了XML 1.0的基础内容。第2章给了我们基本语法概念,第3章告诉我们如何以一每个XML编程者都能够理解的方式正规地定义XML词汇表。这些章节提供了理解和使用XML所必需的最基本内容。第4章(关于数据建模)在创建良好的XML结构方面为读者提供了有效的指导和经验。从一个不佳的XML词汇表中恢复过来是非常困难的,而好的结构将免除许多编程错误。第5章向大家讲解了文档对象模型(DOM),W3C用于XML文档的API,以及其他诸多事物。这将引导大家走出文档的范畴进入应用程序的世界。这四章对于读者开始XML应用程序的编程来说已经足够了。当你读完它们之后,你将理解XML是什么,如何筹划它的结构,如何用代码操作XML文档。虽然XML技巧资源已经相当丰富,但你仍需要首先打好坚实的基础。所以关键的主线包括: ?第2章:格式正规的XML ?第3章:文档类型定义 ?第4章:数据建模 ?第5章:文档对象模型 2. 作为数据的XML 正如你在核心章节中看到的,XMLHTML不同,它清晰划分出文档内容和可视化显示两个部分。实际上,从许多应用程序的目的出发,XML文档的可视化显示并不重要。这些应用程序把XML看作是数据。它的意思就是把XML当作程序和系统之间的接口使用。这可能是现在XML最令人振奋的特征—特别是XML能够使电子商务成为从事商务交易处理的Web应用程序的一技术。第6章将从这一线索开始。它讨论了一用于操作XML文档的由事件驱动的API(被称作SAX)。这API对于处理大容量的XMLXML流或者你在解析器中留下最少的痕迹的时候特别有用。第7章介绍了命名空间和模式,这两个领域使我们能够以比DTD更有效和更富有创造性的方式来表达概念。它们是XML中描述数据的核心。第8章向大家演示了如何链接文档和在文档中针对特定元素进行查询。在本书样例中使用的查询技术实际起源于XML的样式化,所以本章还承当了显示主线的双重重任。它在这条主线中对于展示查询如何快速找到所需元素,以及如何将不同XML文档关联起来非常有用。第9章(操作XML)也涵盖了出于各类目的转换XML文档的技术。从数据的角度讲这非常有趣,因为它展示了一些在词汇表之间转化的非常强大的技术。我们将证明,对于数据交换,特别是在电子商务和B2B的环境下,它是非常有用的。此外,本章也会涉及到显示主线,因为它介绍了将XML文档转换为其他语言的思想,这是有助于向用户显示XML内容的。第10章(XML和数据库)全是关于数据的。关系型数据库和XML是获取数据用于计算的两途径,但是它们所扮演的角色不同。本章将教会大家如何在传统方法和数据存储之间提供接口以便于XML的使用。第11章(服务器到服务器)将介绍当我们无法从本地得到数据时如何到达另外一个服务器。这新奇的技巧将变得越来越普通,因为Web应用程序正逐渐走向计算技术的前台。接下来,第12章会利用前两章的信息来讨论XML如何作为电子商务的信息媒介来使用。在这个例子中,另一台服务器属于一个商业合作伙伴。他们会根据具体情况利用XML解决数据交换的问题并说明具体细节。这条主线的一个题外话就是对无线应用协议(Wireless Application Protocol, WAP)的讨论,它与第14章中XML在无线标记语言(Wireless Markup Language, WAL)中的使用有着关系。WAP所关心的大部分内容是如何把XML的冗长形式变形为简练的二进制表示,在不失去以往优势的同时也适合移动设备使用。考虑这个问题并了解WAP的解决方案会使我们更加感叹XML作为数据交换介质的优势。此外,如果XML用来存储和传输数据,我们可能希望把自己数据放到所有的普通数据设备上,而越来越多的无线设备(例如蜂窝电话和专用Web设备)会成为我们的选择。所以XML作为数据的这条主线包括:第6章:SAX:XML的简单API 第7章:命名空间和模式第8章:链接和查询第9章:操作XML 第10章:XML和数据库第11章:服务器到服务器第12章:电子商务第14章:WAP和WML 3. XML的可视化显示 XML的数据处理对于在机器之间移动数据来说是再好不过了,但是如果你要把XML传递给人的话,就会对它的样式处理比较感兴趣。和大多数注重于数据的传统计算领域(例如关系型数据库)不同,XML的研究者们在如何显示数据方面花费的心思相当地少。XML的解决方案都是数据驱动型的。不管我们使用的是CSS还是XSL,我们将样式单中的数据应用到XML文档中的数据上,以产生适合人们阅读的可视化显示。第8章(链接和查询)将以此为线索开始。这是因为查询技术的一个子集允许编程者指定一个标准集,用来选择文档中必须样式化的部分。样式化要精确到能够指定如何根据特定元素所处位置的上下文关系来实现。相同类型的元素可能因为它们父元素的不同,或者周边显示的不同而以不同的面貌出现在大家面前。第9章将告诉编程者根据适当的环境,在需要时把XML转换成适合显示的某些其他格式的技术。这正是数据驱动的样式化的核心所在。第13章(样式化)在第8章和第9章的基础上告诉读者如何对XML样式化。我们的样式单将成为强大的规则集合,能够应用于XML文档的数据以产生可视化的显示。从一个数据集,你可以快速而有效地产生用于显示的多视图。这就是把数据与显示实现分离开来的好处。第14章(WAP)也包含在显示主线当中,因为样式化对于小型设备来说是一很重要的选择,而小型设备是无线通信的主要用户。它帮助设计者解决如何压缩可视化内容以适应非常小的显示区域。这就将数据副本的考虑和数据压缩结合在了一起,以适合低带宽的网络使用。因为我们的样式是由样式单驱动而不是嵌入在数据当中的,所以我们能够专门针对无线设备创建一有效的显示格式。总而言之,我们的显示主线包括:第8章:链接和查询第9章:操作XML 第13章:样式化第14章:WAP 阅读本书前的准备本书假设你已经掌握了一些关于HTML、JavaScript、Java和ASP的知识。如果你不熟悉Java或ASP,它并不会妨碍你了解隐含在主题后面的概念,它们的影响会限制在一个较小的范围内。但是,为了能够使用本书中提到的所有样例,你必须得有一个浏览器,一个兼容ASP的Web服务器(例如Microsoft的Personal Web Server)并(作为运行Java程序的最小环境)安装Sun Java运行时环境(JRE)。
1、XML AJAX: Asynchronous Javascript And Xml 1、什么是XML eXtensible Markup Language 可扩展的 标记 语言 XML的标记没有预定义过,需要自行定义 XML的宗旨是做数据传递的,而非数据显示 2、XML的语法规范 XML可以保存成独立的 ***.xml 的文件,也可以以字符串的形式出现(服务器端生产) 1、XML的最顶端是XML的声明 <?xml version="1.0" encoding="utf-8" ?> 2、XML标记的语法 1、XML标记必须成对出现 2、xml标记是严格区分大小写,开始和结束必须一致 3、XML的标记也允许被嵌套,注意嵌套顺序 4、每个标记都允许自定义属性,格式与HTML一致,但属性值,必须用""括起来 5、每个XML文档中必须要有一个跟元素 3、使用AJAX 请求 XML 文档 1、要遵循AJAX的请求步骤 1、创建/获取 xhr 2、创建请求 xhr.open("get","***.xml",true); 3、设置回调函数 xhr.onreadystatechange=function(){ if(xhr.readyState==4&&xhr;.status==200){ } } 4、发送请求 xhr.send(); 2、在回调函数中,处理响应数据 使用 xhr.responseXML 来获取响应数据,返回的是XML文档对象 4、解析XML文档对象的内容 1、核心方法 elem.getElementsByTagName("标签的名字"); elem:表示的是获取范围的对象 返回值:返回一个包含指定元素们的类数组 5、在php中返回xml格式的字符串 1、必须增加响应消息头 header("Content-Tupe:application/xml"); 2、按照xml的语法结构,拼xml字符串,再响应给客户端 $xml="<?xml version='1.0' encoding='utf-8'?>"; $xml.="<...>"; ....
中文名: XML入门经典(第四版) 原名: Beginning XML 4th Edition 作者: (美)亨特 (美)拉夫特 (美)福思特 译者: 吴文国 资源格式: PDF 版本: 扫描版 出版社: (美)亨特 (美)拉夫特 (美)福思特 书号: 9787302194651 发行时间: 2009年2月 地区: 大陆 语言: 简体中文 简介: 内容介绍: 《XML入门经典(第4版)》自第1版出版以来,一直是广大程序员学习XML的优秀入门教程。该书全面详实地介绍了XML的基本语法、基本用途和常用的开发工具和方法。全书共21章,分为8个专题。主要内容XML基本语法、DTD、XML Schema、RELAX NG、XPath、XSLT、XQuery、DOM、SAX、RSS、Web服务、Ajax、SOAP、CSS、XHTML、SVG和XForms等,每章都有习题,书后附有参考答案,可帮助你全面掌握XML及其应用方法。 作者介绍: 作者:(美国)David Hunter (美国)Jeff Rafter (美国)Joe Fawcett 译者:吴文国 目录: 第Ⅰ部分 引言 第1章 什么是XML 第2章 良构的XML文档 第3章 XML名称空间 第Ⅱ部分 验证 第4章 文档类型定义 第5章 XML Schema 第6章 RELAX NG 第Ⅲ部分 处理过程 第7章 XPath 第8章 XSLT 第Ⅳ部分 数据库 第9章 XML查询语言——XQuery 第10章 XML与数据库 第Ⅴ部分 程序设计 第11章 文档对象模型(DOM) 第12章 XML简单API 第Ⅵ部分 通信 第13章 RSS、Atom和内容聚合 第14章 Web服务 第15章 SOAP和WSDL 第16章 Ajax 第Ⅶ部分 显示 第17章 样式表(CSS) 第18章 XHTML语言 第19章 可缩放矢量图形(SVG) 第20章 XForms 第Ⅷ部分 案 例 研 究 第21章 案例研究——抵押贷款计算器 第22章 案例研究——基于Ruby on Rails架构的抵押贷款计算器 附录A 习题参考答案 附录B XPath参考 附录C XSLT参考 附录D XML文档对象模型 附录E XML Schema元素与属性参考手册 附录F XML Schema数据类型 附录G SAX 2.0.2参考手册

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值