- 浏览: 1453773 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (564)
- 算法 (7)
- 流金岁月 (1)
- Javascript (30)
- actionscript (108)
- as3.0 game (14)
- flex (84)
- fms2 (27)
- 正则表达式 (7)
- 开源组件代码(as3.0) (1)
- Pv3d (13)
- Cairngorm (4)
- vbs (54)
- VB程序设计 (26)
- 计算机应用与维护 (4)
- 职场实用穿衣技巧 (3)
- 历史风云 (15)
- 淡泊明志,宁静致远 (12)
- 情感 (26)
- 杂谈 (41)
- 越南风 (14)
- DirectX (9)
- Dev-cpp (11)
- 回望百年 (2)
- 建站经验 (2)
- Python (24)
- 网络赚钱 (4)
- php (2)
- html (1)
- ob0短址网 (1)
- ob0.cn (1)
- wordpress (1)
- pandas logistic (1)
- haxe (1)
- opencv (1)
- 微信小程序 (3)
- vue (3)
- Flutter (1)
最新评论
-
GGGGeek:
第一个函数滚动监听不起作用,onPageScroll可以
微信小程序--搜索框滚动到顶部时悬浮 -
naomibyron:
解决办法:工具 -> 编译选项 -> 编译器 ...
dev-c++中编译含WINSOCK的代码出现错误的解决方法 -
haichuan11:
这个…… 代码不全真的是让人很憋屈的感觉啊
actionScript 3.0 图片裁剪及旋转 -
chenyw101:
老兄能留个QQ号吗?具体的我有些东西想请教下你
用VB制作网站登陆器 -
yantao1943:
貌似有点问题,只派发一次事件啊
使用ActionScript 2.0或ActionScript 3.0处理音频文件的提示点(cue
提纲:
一:实例效果
二:实例解析
1.定义新标识。
2.建立XML文档。
3.建立相应的HTML文件。
XML在不同领域有着广泛的应用,比如在科技领域的MathML,无线通信应用的WML,在网络图象方面的SVG等等,我们这里侧重讨论XML在web上的应用。XML在web上应用主要是利用其强大的数据操作能力。一般用XML配合javascript和asp等服务器端程序,可以实现网络上几乎所有的应用需求。
考虑讲解方便,我们在下面介绍一个简单的实例,不包含服务器端程序。目的在于让您对XML的数据操作能力有一个感性的认识。
好,我们首先[ 点击这里 ]来看实例的效果。(请用IE5.0以上版本浏览器打开)
这是一个简单的CD唱片数据检索功能。你通过点击"上一张","下一张"可以看到单张CD的有关信息。这样的效果我们原来用两种方法可以实现:
1.利用DHTML,将数据隐藏在不同的层中,通过鼠标事件依次显示;
2.利用后台程序(如ASP,CGI,PHP,JSP等),调用服务器端的数据。
但是在这个实例中,我们打开页面原代码可以看到,其中没有用DHTML的DIV,也没有表单的action,它完全是用XML来实现的。下面我们来分析它的制作过程:
第一步:定义新标识。
根据实际的CD数据,首先新建一个名为<CD>的标识;其次建立它相关的数据标识,分别是:CD名称<Title>,演唱者<Artist>,出版年代<Year>,国家<Country>,发行公司<Company>和价格<Price>;最后还要建立一个名为目录<CATALOG>的标识。为什么要再建立一个<CATALOG>标识呢?因为在XML文档中规定,必须且只能有一个根元素(标识),我们有多个CD数据,这些数据是并列的关系,所以需要为这些并列的元素建立一个根元素。
以上元素的定义和关系都完全符合XML标准,不需要特别的DTD文件来定义,所以可以省略DTD定义。如果我们想使用DTD来定义,以上过程可以表示为:
程序代码: | [ 复制代码到剪贴板 ] |
<!ELEMENT CD (Title,Artist,Year,Country,Company,Price)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Artist (#PCDATA)>
<!ELEMENT Year (#PCDATA)>
<!ELEMENT Country (#PCDATA)>
<!ELEMENT Company (#PCDATA)>
<!ELEMENT Price (#PCDATA)>
这段代码表示:元素CATALOG包含多个CD子元素,而子元素CD又依次包含Title, Artist, Year, Country, Company, Price 六个子元素,它们的内容都定义为文本(字符,数字,文本)。(注:具体的语法说明可以看上一章关于DTD的介绍)
第二步:建立XML文档。
程序代码: | [ 复制代码到剪贴板 ] |
<CATALOG>
<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 Tylor</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>
<CD>
<TITLE>Still got the blues</TITLE>
<ARTIST>Gary More</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>Virgin redords</COMPANY>
<PRICE>10.20</PRICE>
<YEAR>1990</YEAR>
</CD>
<CD>
<TITLE>Eros</TITLE>
<ARTIST>Eros Ramazzotti</ARTIST>
<COUNTRY>EU</COUNTRY>
<COMPANY>BMG</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1997</YEAR>
</CD>
</CATALOG>
上面代码首先用<?xml version="1.0"?>声明语句表明这是一个XML文档,它的格式遵守XML 1.0标准规范。然后是文档内容,结构树非常清晰:
程序代码: | [ 复制代码到剪贴板 ] |
<CD>
......
</CD>
<CD>
......
</CD>
</CATALOG>
一共定义了5组数据。我们将上面的代码存为cd.xml文件,以备调用。
第三步:建立相应的HTML文件。
1.导入XML数据。
我们知道,目前流行的浏览器中,暂时只有微软的IE5.0以上版本浏览器支持XML。IE是通过在HTML中的object物件来支持插入XML,并通过js的XMLDocument.load()方法来导入数据。我们看代码:
程序代码: | [ 复制代码到剪贴板 ] |
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
</object>
定义一个object,ID名为xmldso。然后在head区用js引入xml数据:
程序代码: | [ 复制代码到剪贴板 ] |
xmldso.XMLDocument.load("cd.xml");
</script>
2.捆绑数据。
然后将用<SPAN>标识来将XML数据绑定在表格中。其中ID,DATASRC,DTATFLD都是<SPAN>的属性。代码如下:
程序代码: | [ 复制代码到剪贴板 ] |
<tr><td>Title:</td><td><SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE"></SPAN></td></tr>
<tr><td>Artist:</td><td><SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST"></SPAN></td></tr>
<tr><td>Year:</td><td><SPAN ID="year" DATASRC=#xmldso DATAFLD="YEAR"></SPAN></td></tr>
<tr><td>Country:</td><td><SPAN ID="country" DATASRC=#xmldso DATAFLD="COUNTRY"></SPAN></td></tr>
<tr><td>Company:</td><td><SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY"></SPAN></td></tr>
<tr><td>Price:</td><td><SPAN ID="price" DATASRC=#xmldso DATAFLD="PRICE"></SPAN></td></tr>
</table>
3.动作操作。
最后,为数据提供浏览按钮:
程序代码: | [ 复制代码到剪贴板 ] |
<INPUT TYPE=button VALUE="下一张CD" ONCLICK="movenext()">
并利用js来完成两个鼠标点击功能:movenext()和moveprevious()。在head区加入如下代码:
程序代码: | [ 复制代码到剪贴板 ] |
function movenext()
{
if (xmldso.recordset.absoluteposition < xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
function moveprevious()
{
if (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
</script>
好,我们先看HTML文件的全部原代码:
程序代码: | [ 复制代码到剪贴板 ] |
<head>
<script for="window" event="onload">
xmldso.XMLDocument.load("cd.xml");
</script>
<script language="JavaScript">
function movenext()
{
if (xmldso.recordset.absoluteposition < xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
function moveprevious()
{
if (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
</script>
<TITLE>CD Navigate</TITLE>
</head>
<body>
<p>
<object WIDTH="0" HEIGHT="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
</object>
<table>
<tr><td>Title:</td><td><SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE"></SPAN></td></tr>
<tr><td>Artist:</td><td><SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST"></SPAN></td></tr>
<tr><td>Year:</td><td><SPAN ID="year" DATASRC=#xmldso DATAFLD="YEAR"></SPAN></td></tr>
<tr><td>Country:</td><td><SPAN ID="country" DATASRC=#xmldso DATAFLD="COUNTRY"></SPAN></td></tr>
<tr><td>Company:</td><td><SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY"></SPAN></td></tr>
<tr><td>Price:</td><td><SPAN ID="price" DATASRC=#xmldso DATAFLD="PRICE"></SPAN></td></tr>
</table>
<p>
<INPUT TYPE=button VALUE="上一张CD" ONCLICK="moveprevious()">
<INPUT TYPE=button VALUE="下一张CD" ONCLICK="movenext()">
</p>
</body>
</html>
将以上代码存为cd.htm文件,于第二步的cd.xml文件放在一起。打开cd.htm文件,你就看见和上面实例一样的效果了。
好,到今天为止,我们已经学习了关于XML的不少知识,我们来总结一下前面五个章节,分别是XML快速入门,XML的概念原理,XML的术语,XML的语法和本章的实例解析。到这里,教程部分就结束了。在写作过程中,阿捷尽最大努力将有关XML概念讲得通俗易懂,尽量把自己的理解告诉给大家,但因为本人学习XML时间也不长,对整个XML的技术把握还不够系统和深入,所以难免有疏漏的地方,请大家指正和谅解,谢谢!
发表评论
-
使用bat 处理文件 批量下载图片,下载文件
2018-11-17 10:42 3932Download Wscript.Arguments(0) ... -
VB6逆向工程浅析
2011-12-29 07:36 1735前言 VB的编译有两种方式,一种是P-Code ... -
VB函数——逆向分析备查
2011-12-28 21:39 1489Variant 变量的内部表示:_____________ ... -
VB程序逆向常用的函数
2011-12-28 21:38 14851) 数据类型转换: ... -
用XML创建可排序、分页的数据显示页面
2008-08-30 08:10 1396在Web开发中,我们经常 ... -
SQL注入天书 - ASP注入漏洞全接触
2008-08-28 17:39 1082随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员 ... -
一个学校的网站安全性测试
2008-08-28 17:38 1153本文作者:angel文章性质:原创发布日期:2004-04-0 ... -
改mdb为asp所带来的灾难
2008-08-28 17:36 999本文作者:SuperHei·Lilo文章性质:原创发布日期: ... -
选单连动
2008-08-28 17:34 1065动机: 现在我们做个在IE里应用XML的一个小例子:解决双下 ... -
ASP常用的代码(不断更新)
2008-08-28 17:34 12421.获得系统时间:<%=now()%>2.取得来访 ... -
动态排序
2008-08-28 17:31 1134动机: 排序功能让我们页面上的数据显的更人性化,是我们在网站 ... -
动态查询
2008-08-28 17:31 876动机: 查询功能是我们 ... -
XML卷之动态分页
2008-08-28 17:30 1201动机: 为了方便用户查看大批量数据,我们会用到动态分页,因此 ... -
对xml+xsl实现分页排序的改进,使支持对所有数据进行排序
2008-08-28 17:29 2097以往见过的利用xml+xsl来实现分页排序的基本都只能本页内排 ... -
使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页
2008-08-28 17:27 1329在Web开发中,我们经常 ... -
用ASP+XML编写留言本
2008-08-28 17:16 2867一、读者指引 读者 ... -
asp查询xml的代码,实现了无刷新、模糊查询功能
2008-08-28 17:13 1161<html> <head> ... -
用Asp+XmlHttp实现RssReader功能
2008-08-28 17:12 873<style>body {margin:10px; ... -
vb+Webbrowser控件详解
2008-08-25 20:48 6824vb+Webbrowser控件详解 1、获得浏览器信息: P ... -
BBS注册机(vb script, telnet, sterm)
2008-08-16 11:34 1528#include "lib.vbs" Co ...
相关推荐
《XML轻松学习手册--XML实例解析之一》这篇文章主要介绍了如何使用XML实现一个简单的CD唱片数据检索功能,让我们深入了解XML在Web应用中的数据操作能力。XML(eXtensible Markup Language)是一种可扩展标记语言,...
php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例
### Android解析XML实例详解 #### 一、XML数据结构与示例 在Android开发中,经常需要处理XML格式的数据。本篇文章将通过一个具体的例子来详细介绍如何在Android应用中解析XML文件。 首先,我们来看一下这个例子中...
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
在这个实例中,我们将深入探讨如何使用DOM4J解析XML文件,并通过`Dom4jTest1.java`这个示例程序来理解其工作原理。 首先,我们需要了解XML(Extensible Markup Language)是一种标记语言,常用于存储和传输数据。...
**DOM4J解析XML实例详解** 在Java编程中,处理XML文档是一项常见的任务。DOM4J是一个非常流行的、强大的Java XML API,它提供了灵活且高效的方式来解析、创建、修改XML文档。本文将深入探讨如何使用DOM4J进行XML...
**VC++与XML实例解析** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。VC++,全称Microsoft Visual C++,是微软开发的一款集成开发环境,主要用于...
xml实例: <?xml version="1.0" encoding="GBK"?> <a> <b> <c type="0" centerx="1" centery="2" dispname="3" linestr=""> <d name="OBJECTID" value="100" /> <d name="NAME" value="aaa" /> </c>...
本实例将探讨如何使用PHP来读取、解析和操作XML文档,帮助初学者更好地理解和应用这两种技术。 首先,理解XML的基本结构至关重要。XML文件由一系列元素组成,每个元素都有可能包含子元素、属性和文本内容。例如: ...
在这个实例中,JAXP的`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`用于解析XML文件,构建DOM树。 4. **Bean类**:在Java中,Bean是一种符合特定设计模式的简单Java对象,通常用于数据封装。在...
在Java中,解析XML文件是常见的任务,主要用于读取、修改或生成XML文档。本篇将深入探讨两种主要的XML解析技术:DOM(Document Object Model)和SAX(Simple API for XML)。 DOM解析器将整个XML文档加载到内存中,...
在“PB11.5解析XML实例”中,我们将深入探讨如何利用PowerBuilder的内置功能来解析XML文档。首先,我们需要了解PowerBuilder中的XML解析器,这是PB11.5中处理XML的关键组件。PB11.5提供了两种主要的XML解析方式:DOM...
本实例——“xml航班解析实例”,提供了一个全项目的压缩包,包含了源代码和注释,方便个人学习和理解XML解析在安卓应用中的具体应用。 在安卓应用中,XML解析主要分为两种方式:DOM(Document Object Model)解析...
Java DOM 解析 XML 实例 Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过...
XML实例集是为了帮助理解XML的基本结构、语法以及在实际应用中的使用方式。 在XML实例集中,你可以看到各种类型的XML文件示例,比如CD目录、植物目录和菜单等。这些例子展示了XML如何用于组织和存储结构化数据。...
本篇文章将深入探讨DOM解析XML文件在Android中的应用实例。 首先,DOM解析的基本思想是将整个XML文件加载到内存中,形成一个树形结构,即DOM树。这样做的优点是解析后的数据可以方便地进行任意位置的查找和修改,但...
本教程将详细介绍四种常见的XML解析方法,以帮助你更好地理解和处理XML数据。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点操作来访问和修改...
【XML WebService完全实例解析】深入理解 XML WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的服务交互技术,允许不同系统间的应用通过网络进行通信。它的核心思想是提供一个对外的接口,使得外部客户端可以...
它是由VTD Tech公司开发的,主要用于XML的导航、解析和操作。VTD-XML技术的核心是虚拟XML索引(Virtual Token Descriptor, VTD),这种索引能够在不加载整个XML文档到内存的情况下进行快速定位和处理。 XML...