用C编XML的编辑器.docx

上传人:b****2 文档编号:1041399 上传时间:2022-10-15 格式:DOCX 页数:39 大小:70.55KB
下载 相关 举报
用C编XML的编辑器.docx_第1页
第1页 / 共39页
用C编XML的编辑器.docx_第2页
第2页 / 共39页
用C编XML的编辑器.docx_第3页
第3页 / 共39页
用C编XML的编辑器.docx_第4页
第4页 / 共39页
用C编XML的编辑器.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

用C编XML的编辑器.docx

《用C编XML的编辑器.docx》由会员分享,可在线阅读,更多相关《用C编XML的编辑器.docx(39页珍藏版)》请在冰豆网上搜索。

用C编XML的编辑器.docx

用C编XML的编辑器

用C#编XML的编辑器

第一章Xml简介

第一节XML历史:

20世纪60年代,IBM创建GML(GeneralizedMarkupLanguage,通用标记语言),后经演变,发展成SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言),成为第一个标准化的信息结构化技术,被用在IBM内部,1986年成为ISO标准。

功能强大,但缺点是需要一大堆昂贵的软件来运行,所以在Internet发展的初期,不能成为表示超文本的最佳选择。

于是后来HTML对SGML进行了极大的简化,从而成为现在Internet的标准。

随着对网络需求进一步增大,人们开始扩充HTML的功能,慢慢发展成现在这么庞大混乱的局面。

于是W3C(WorldWideWebConsortium,万维网联盟)组织了一个SGML专家组,主要目标是创建一种新的标记技术,既要具备SGML的核心技术,还要具备HTML的简单性。

1998年2月,W3C发布了XML1.0规范,即可扩展的标记语言(eXtensibleMarkupLanguage)是SGML简化的子集,继承了SGML重要的三个特性:

可扩展性,结构化,有效性,成为表示结构化信息的一种标准文本格式。

第二节xml语法基础:

基本构成单元叫实体(entity),包含解析的或未解析的数据.解析的数据由字符构成,可以看成是标记,由XML处理函数处理,而未解析的字符数据被当成原始文本不被处理,例如Delfan就是标记,而Delfan是原始文本。

标记用来描述文件的存储结构(实体)和逻辑结构(元素)。

XML语法实际描述了用来定义XML文件的结构和布局的构造,也包含了约束关系,而XML需要XML处理函数来处理,所以必须遵守严格的语法。

一个简单的例子:

xmlversion="1.0"encoding="GB2312"?

>

<我的电话本>

<记录>

<姓名>Delfan

<电子邮件>programer@

<记录>

<姓名>某某

<电子邮件>a@b.c

一个XML文件只能有一个根,而且,XML是基于UNCODE编码的,标记都可以是汉字.还有,IE本身就是个XML的解析器,虽然不很完善。

可以将以上代码写到一个文本文件中,例如文件名为test.xml,双击,IE就可以把这个XML文档解析成一棵树并按层次显示出来:

第三节XML的术语

XML文档:

XML标识语言写成的XML原代码文件,实际上是ASCII的纯文本文件,可以用Notepad创建和修改。

XML文档的后缀名为.XML,用IE5.0以上浏览器可以直接打开并显示成树状结构,看到的就是XML文档.一般来说,XML文档包含三个部分:

1.一个XML文档声明:

xmlversion="1.0"?

>

2.一个关于文档类型的定义:

DOCTYPEdataSYSTEM"data.dtd">如不需要可以省略

3.用XML标识创建的内容.

举例:

xmlversion="1.0"encoding="GB2312"?

>

<清单>

<入库>

<纸张规格="A4"单位="本">1000

<经手人>张三

<出库>

<纸张规格="B5"单位="本">200

<经手人>张三

其中第一行

xmlversion="1.0"encoding="GB2312"?

>就是一个XML文档的声明,并指出使用GB2312,以下就是内容主体部分。

:

:

XML文档中有关的术语:

1.Element(元素)

元素是组成XML文档的最小单位,由标识来定义,包括其中的内容,如<经手人>张三,而且要由自己创建

2.Tag(标识)

标识是用来定义元素的。

在XML中,标识必须成对出现,将数据包围在中间。

标识的名称和元素的名称是一样的。

例如:

<经手人>张三,其中<经手人>就是标识。

3.Attribute(属性)

例如<纸张规格="B5"单位="本">中"规格"和"单位"就是属性,属性是对标识进一步的描述和说明,一个标识可以有多个属性,每个属性都有它自己的名字和数值,是标识的一部分,也是自己定义的,但尽量不要用属性,而是使用子元素,例如上面元素可以改成

<纸张>

<规格>B5

<单位>本

200

,这么做的原因是属性不易扩充。

4.Declaration(声明)

所有XML文档的第一行都有一个L声明表示是一个XML文档,并指出遵循哪个版本的规范:

xmlversion="1.0"?

>说明是1.0版本的XML文档

5.DTD(文件类型定义)

DTD是用来定义XML文档中元素,属性以及元素之间关系的。

通过DTD文件可以检测XML文档的结构是否正确,作用:

用来规范XML文档,元素和标签使用是否正确。

DTD文档包含:

元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。

DTD文件也是一个ASCII的文本文件,后缀名为.dtd。

实际上是XML文件的抽象出来的模板。

但建立XML文档并不一定需要DTD文件。

6.Well-formedXML(良好格式的XML)

遵守XML语法规则,并遵守XML规范的文档称之为"良好格式"。

如果你所有的标识都严格遵守XML规范,那么你的XML文档就不一定需要DTD文件来定义它。

良好格式的文档必须以一个XML声明开始,必须说明文档遵守的XML版本,目前是1.0,文档必须有一个根元素,而且只能有一个,就是紧接着声明后面建立的第一个元素,其它元素都是这个根元素的子元素.L文档的内容书写时必须遵守XML语法。

第四节本软件中的xml

本软件的目的是要做一个编辑xml文挡的编辑器。

由于xml文挡是树形结构的,所以在本软件中xml文挡就用treeView控件显式显示出来,treeView也是树形结构的,但treeView控件允许有多个根节点,需要对treeView作一些限制,另外treeView控件只是将xml文档的树形结构显示出来,但xml文档中各个节点的属性值和文本值不能在treeView中显示出来,所以,要给treeView中的每个节点赋一个指针,指针所指的地址中存储着xml文档中对应节点的文本值和属性值。

以上是本软件的制作思想,要实现这种做法有两个难点:

1、要用treeView显示xml文档的结构,就要能读取xml文档的结构,再在treeView中显示出来。

2、存储文件时,能读取treeView的结构,把它存储成xml文件。

这里对本软件作了一个简要的介绍,在论文的结束部分将做进一步的介绍。

第二章Microsoft.net中的c#

 

第一节.Net简介

要介绍c#。

就要先介绍一下C#所运行的平台.Net。

.NET是什么呢?

先看一下微软本身对它是如何定义的。

定义.NET的最简单方法(SanjayParthasarathy,平台战略副总裁,2000年12月21日)

1分布式计算

定义.NET最好的方式就是想一想.NET要做什么。

Microsoft认为向分布式计算的转变正在悄悄地进行着。

在过去的几年中,人们一直在铺设宽带电缆,使带宽的限制比过去要小得多。

根据摩尔定律效应,每18个月处理能力翻一番,价格降低一半,现在您首次可以选择进行真正的分布式计算:

因为带宽已经不那么昂贵,您可以在任何最佳地点进行处理。

当今已经有很多这种分布式应用程序的例子。

Napster就是一个使用胖客户端与计算机群集中的目录服务进行对话的应用程序,它把网络上的所有参与的计算机都当作服务器。

另一个分布式应用程序的例子是即时消息,胖客户端与计算机群集中一个伙伴列表对话,同时还可以与网络中的其他胖客户端-InstantMessenger和Windows进行通信。

因此,.NET的目的正是要加速产生下一代分布式计算的过程。

2三个杠杆

我们认为可以拉动三个杠杆,以使下一代分布式计算尽可能快地发生。

Web服务:

第一个杠杆是一切都要成为Web服务。

这适用于网络中的两种东西:

软件和资源(如存储)。

聚合与集成:

第二个需要拉动的杠杆是,一旦您拥有了这些Web服务,就需要以一种非常简单和容易的方式将它们聚合与集成起来。

简单而令人神往的用户体验:

加速分布式计算的第三个杠杆是,需要有简单和令人神往的消费者或者最终用户体验。

因此我们认为这三个杠杆是加速向分布式计算转移的必要条件:

▪一切都要成为Web服务;

▪聚合与集成Web服务的能力;

▪向最终用户提供简单而令人神往的体验的能力。

.NET的目的正是致力于拉动这些杠杆,以加速向分布式计算的转移,为了正确地拉动这些杠杆,我们正在做五项工作。

3分五部分构建.NET

(1).开发工具

我们做的第一项工作是:

通过.NET框架和VisualStudio工具集,使编写Web服务尽可能简单方便。

我们认为,用于编写Web服务最好、最方便、最快并且最节约的方法是使用.NET框架和VisualStudio.NET开发工具。

(2).服务器

我们做的第二项工作是:

真正致力于Web服务聚合与集成,这恰恰是我们的.NET服务器家族的用武之地。

我们认为,这些服务器是用于聚合与集成Web服务最好、最简单、最方便、最节约的方法。

可以从两个方面看待这些服务器。

大家熟悉和喜爱的一组服务器是Windows2000、SQLServer2000、Exchange2000,XML管线内置于其核心。

而XML,正如您所知,可能是最简单最大众化的集成Web服务的方法。

第二类服务器是我们构建的专门服务器,如BizTalkServer,它们提供更高级别和更灵活的聚合与集成。

以BizTalkServer2000为例,它内置了一种叫作XLANG的语言,通过该语言您可以定义过程流、事务流和协定,也可以跨异类环境进行相当深层次的集成。

这就是.NET的第二部分:

用以加速Web服务聚合与集成的服务器集。

(3).基础服务

我们的第三项工作是:

使最终消费者的体验简单而令人神往,为此我们正在构建一个.NET构造块服务集。

几乎每个人,每当他遇到多个站点和多个应用程序时,都遇到过这样的情况:

需要登录这些站点和应用程序;我们正在创建一个诸如标识、通知和系统化存储之类的小服务集,利用这些服务,消费者和用户从一个服务转向另一个服务,从一个应用程序转到另一个应用程序,甚至从一种环境转向另一个环境都将非常容易。

这种简单性在分布式计算的世界里是绝对必要的。

这些.NET构造块服务对开发人员也有巨大的益处:

它们与以前的Windows中的内存管理器和文件系统非常相似,当人们编写应用程序时,不需要每次都把内存管理器和文件系统复制一遍。

我们相信,开发人员将喜欢这些服务集成到计算机群集中,而且它们得到保证,因此他们可以将精力集中投入到可以大大增值的事情上去。

.NET构造块服务是.NET的第三部分。

(4).设备

第四部分致力于最终用户的体验,通过一套我们正在创建的客户端和设备软件,将特别带给用户令人神往的体验。

首先,.NET假设您拥有了一个设备家族,我们正是要创建许多设备软件,以使人们可以使用相互取长补短的设备家族。

我们将在设备软件中做一些有趣的事情,以使您尽可能体验到令人神往的效果。

一方

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1