XML是一个go语言用来做什么吗?它是用来写网页的吗?为什么很多游戏的数据也是用的XML格式?

xml是什么意思?_百度知道
xml是什么意思?
我有更好的答案
是EXtensible Markup Language的缩写.扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。 XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。 XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。XML全称EXtensible Markup Language,翻译为可扩展置标语言,可扩展标记语言或可延伸 标示语言,是一种置标语言。 XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的GML(Generalized Markup Language) 同HTML一样, XML (可扩展标识语言)是通用标识语言标准(SGML)的一个子集,它是描述网络上的数据内容和结构的标准。尽管如此,XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。. 为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。 因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 ()。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言。
采纳率:58%
所谓的xml,就是eXtensible Markup Language, 翻译成中文就是“可扩展标识语言“,在国内很多人理解xml为html的简单扩展,这实际上是一种误解。尽管xml同html关系非常密切。
XML与SGML、HTML的关系。
SGML、HTML是XML的先驱。SGML是指“通用标识语言标准”(Standard Generalized Markup Language), 它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。同XML相比,定义的功能很强大,缺点是它不适用于Web数据描述,而且SGML软件价格非常价格昂贵。
HTML相信大家都比较熟悉,即“HyperText Markup Language” (超文本标识语言),它的优点是比较适合web 页面的开发。但它有一个缺点是标记相对少,只有固定的标记集如&p&.&strong&等。缺少sgml 的柔性和适应性。不能支持特定领域的标记语言,如对数学、化学、音乐等领域的表示支持较少。举个例子来说,开发者很难在web pape 上表示数学公式、化学分子式和乐谱。
Xml 结合了sgml 和html的优点并消除其缺点。Xml 仍然被认为是一种sgml语言。比sgml要简单,但能实现sgml的大部分的功能。1996年的夏天,Sun Microssystem的John Bosak开始开发W3C SGML工作组(现在称为xml工作组)。他们的目标是创建一种sgml,使其在Web中,既能利用Sgml的长处,又保留html的简单性。现在目标基本达到。
二、Xml 的发展。
在专业领域中,出现了Web标记语言的许多项目,著名的有CML—化学标记语言,由Peter Murray_Rust 开发,同时开发了第一个通用xml 浏览器Jumbo . 在数学方面,包括IBM公司再内都在致力开发MathML 1997年四月,出版了xll的第一个版本。当xll完整实现时,将比html 和当前浏览器所达到的链接水平更复杂,更强大。1997年8月,Microsoft公司和Inso公司引入xsl.由于xml是纯结构和语义的,需要描述单个元素格式方法。可以使用html的CSS;另一种方案是xsl. 1998年1月,microsoft 公司出版发行了msxsl程序。可以利用xsl表和xml文档创建能被IE4 识别的html页面。1998年2月,W3C发布了xml1.0的正式版本。最近一年多来,由于网络应用的飞速发展,xml的发展非常迅猛。出现了DOM(Document Object Model),XSLT(XSL Transformation)等新名词,xml的应用软件也有了飞速的发展,Microsoft、IBM、Breeze、Stilo等公司纷纷推出了自己的或解析器,或开发平台。在MicrosoftIBM、HP等大公司的推动下,目前有两个著名的xml的研究组织,分别是biztalk.com和oasis.org,由他们向W3C提出标准的建议。其中biztalk是有Microsoft牵头组织的,有趣的是Microsoft公司同时参加了oaisis,不过不同于IBM、HP等著名大公司,他的年费只交10万美元,用Microsoft发言人的话就是“一切视oasis的发展而定!“,言下之意就是如果oasis制定的标准抵触Microsoft的应用,一场标准大战不可避免。
首先XML是一种元标记语言,所谓“元标记”就是开发者可以根据自己的需要定义自己的标记,比如开发者可以定义如下标记&book& &name&,任何满足xml命名规则的名称都可以标记,这就为不同的应用程序打开了的大门。HTML是一种预定义标记语言,它只认识诸如&html&,&p&等已经定义的标记,对于用户自己定义的标记是不认识的。 第二xml是一种语义/结构化语言。它描述了文档的结构和语义。举个例子,在和html中,要描述一本书,可以如下表示:
&dt& book name
&dd& author_name &ul& &li&publisher_;;; &li&isbn_number &ul& 在xml中,同样的数据表示为 &book& &title&book name&/title& &author&author name&/author) &publisher& publisher name&/publisher& &isbn&isbn_number&/isbn& &/book& 从上面的对比,可以看出,xml的文档是有明确语义并且是结构化的。 XML是一种通用的数据格式从低级的角度看,xml是一种简单的数据格式,是纯100%的ASCII文本,而ASCII的抗破坏能力是很强的。不象压缩数据和java对象,只要破坏一个数据文件数据就不可阅读。 从高级的角度看,是一种自描述语言。
XML可利用于数据交换 主要是因为XML表示的信息独立于平台的,这里的平台即可以理解为不同的应用程序也可以理解为不同的操作系统;它描述了一种规范,利用它Microsoft的word文档可以和Adobe 的Acrobat交换信息,可以和数据库交换信息。
XML表示的结构化数据。
对于大型复杂的文档,xml 是一种理想语言,不仅允许指定文档中的词汇,还允许指定元素之间的关系。比如可以规定一个author元素必须有一个name子元素。可以规定企业的业务必须有包括什么子业务。
XML文档。 XML文档有DTD和XML文本组成,所谓DTD(Document Type Definition ),简单的说就是一组标记符的语法规则.,表明XML文本是怎么样组织的,比如DTD可以表示一个&book&必须有一个子标记&author&, 可以有或者没有子标记&pages& 等等。当然一个简单的XML文本可以没有DTD。下面是一个简单的xml文本。 &? Xml version=”1.0” standalone=”yes”& &book& haha &/book& 其中以?开始并结尾的是进程说明。Standalone表示外围设备。这里外围设备可以理解为该XML文本没有应用其他的文件。因为XML文件可以外部应用DTD等外部数据。
XML 涉及的一些技术。
XSL和CSS。
通过前面的介绍可以知道,XML可以定义信息的内容,却没有定义信息该如何表达,这实际上就是XML的长处,它把内容和形式分离了,这样同一个内容可以有不同的表达,相信随着XML应用的提高,那种“建议你使用800x600分辨率“的会消失。而XML内容的表达就是通过XSL(XML Style Language)和CSS(Cascading Style Sheets 层叠样式表)来实现。拿前一个例子来说,可以为该xml文档定义的样式表(XSL)如下: &xsl& &rule& &root/& &H1& &children/& &/H1& &/rule& &xsl& 这就是一个简单的 XSL文件,利用msxsl可以生成html文件。如下 &h1& haha &/hi& 至于CSS,在HTML文件中就已经有它的影子了,例如 H1 { font-size: 12 font-weight: } 这就是一段简单的CSS的文本。
XML Schema 尽管DTD给标记的使用加了限制,但是对于XML的自动处理却还需要更加严格更全面的工具。比如DTD不能保证一个标记的某个属性的值必须不为负值,于是出现了XML Schema,由于XML Schema(不同于DTD)本身也是一个正规的XML文档,因此开发者可以使用相同的工具处理其同其他的XML的信息交换。最初XML Schema由Microsoft提出,W3C 的专家们经过充分讨论和论证,在1999年的2月,发布了一个需求定义,说明Schema必须符合的要求,5月,W3C完成并发布了Schema的定义。目前,IE5中的XML解析器能够根据文档类型定义(DTD)或XML Schema解析XML
关于DOM DOM即Document Object Model, 它把XML文档的内容实现为一个对象模型,简单的说就是应用程序如何访问XML文档,W3C的DOM Level 1 定义了如何实现属性、方法、事件等。
关于XSLT XSLT即XML Stylesheet Language Transformation. 在写本文时正式标准还没有正式形成,在1999年的11月通过了《XSLT》。XSLT是一种用来进行XML文档间相互转化的语言。简单的说,我们知道不同的开发者对于各自的应用会用不同的XML文档,利用XSLT我们可以从一个已经定义的XML文档抽取我们需要的数据,组成不同的形式,可以是XML, HTML和各种不同的SCRIPT。
关于Xpointer和Xlinks
类似于HTML中的Hyper Link. Xpointer 和Xlink用于联结其他的XML文档和其他XML文档中的部分,其中Xpointer相当于HTML中用于定位HTML文档子内容的锚!不过其联结水平更强大。比如,在bookstore中,可以定位到有一个作者叫金庸,书中有四大恶人的那本书,在HTML中,这是不可能实现的。
当然,XML的发展促使了许多的新技术的出现,其他的还有RDF、Xfrom等等,其中的大部分W3C只是给出了建议,还没有形成正式的标准,有些内容甚至还处于讨论阶段。我们将密切注视着方面内容的变化。
所谓框架即Framework。XML是一个通用的标准。它不属于个人,认证它的也不是一家公司,而是W3C。那么为什么那么多的大公司纷纷趋指如鹜呢?各家公司互相竞争的是它的framework, 是它的Schema. XML framework是驾驭XML文件的结构,是一种高层次的结构控制。利用XML framework,可以把商业逻辑(business logic)分离出来,实现数据与计算的分离。目前著名的framework有Microsoft的Biztalk 以及联合国(UN/CEFACT)和OASIS联合于99年底推出了EBXML动议。相信在不久的将来会有许多的Framwork. 其中的一个问题就是在W3C中关于XML的很多东西还处于建议的时候,就推出framework,是不是一种冒险。不过,互联网的发展似乎就是这样,关于framwwork的发展,我们将拭目以待。
本回答被提问者和网友采纳
XML是Extensible Markup Language的简写,一种扩展性标识语言。HTML是一种标记语言,全称:&Hypertext Markup Language& 超文本标记语言。同时,HTML里面有很多标签,类似, 等,都是在HTML 4.0里规范和定义,而XML里允许你自己创建这样的标签,所以叫做可扩展性。 1.XML并不是标记语言。它只是用来创造标记语言(比如HTML)的元语言。天,又糊涂了!不要紧,你只要知道这一点:XML和HTML是不一样的,它的用处途比HTML广泛得多,我们将在后面仔细介绍。 2.XML并不是HTML的替代产品。XML不是HTML的升级,它只是HTML的补充,为HTML扩展更多功能。我们仍将在较长的一段时间里继续使用HTML。(但值得注意的是HTML的升级版本XHTML的确正在向适应XML靠拢。) 3.不能用XML来直接写网页。即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。XML文档定义有几种形式?它们之间区别_百度知道
XML文档定义有几种形式?它们之间区别
我有更好的答案
XML(Extensible Markup Language)即可扩展标记语言,XML是一种简单的数据存储语言,使用一系列简单的标记描述数据XML是用来存储数据的,它极其简单由于XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,所以XML被广泛用来作为跨平台之间交互数据的形式。XML 的优势有以下六个方面:①XML可以从HTML中分离数据   ②XML用于交换数据③XML和B2B④XML可以用于共享数据 ⑤XML可以充分利用数据⑥XML可以用于创建新的语言详见-
采纳率:77%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
_____________________________________________________________________________________________________________
问答求助版块规则:
  1、问题尽量描述清楚
& && &2、代码要放在代码块里
& && &3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
& && &5、问题得到解决,请选择最佳答案。
& && &6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 1802|回复: 12
unity里面用xml干什么,求解?
本帖为抢楼帖,欢迎抢楼!&
4405/500排名<font color="#FF昨日变化主题帖子积分
四处流浪, 积分 405, 距离下一级还需 95 积分
四处流浪, 积分 405, 距离下一级还需 95 积分
在线时间57 小时
unity是干什么的;unity 干什么
每日推荐:
12排名<font color="#FF昨日变化4主题帖子积分
蛮牛币2866
在线时间164 小时
配置,各种配置,比如技能配置文件啊
每日推荐:
71903/5000排名<font color="#FF昨日变化主题帖子积分
日久生情, 积分 1903, 距离下一级还需 3097 积分
日久生情, 积分 1903, 距离下一级还需 3097 积分
蛮牛币4266
在线时间453 小时
数据存储读取
为什么会有字数限制.exe
每日推荐:
74104/5000排名<font color="#FF昨日变化2主题帖子积分
日久生情, 积分 4104, 距离下一级还需 896 积分
日久生情, 积分 4104, 距离下一级还需 896 积分
蛮牛币6406
在线时间627 小时
可以进行数据的写入和读取。我是当成.txt或者.ini文件来用的。
每日推荐:
4319/500排名<font color="#FF昨日变化8主题帖子积分
四处流浪, 积分 319, 距离下一级还需 181 积分
四处流浪, 积分 319, 距离下一级还需 181 积分
在线时间43 小时
通信 和 存储数据,读取和解析速度都挺快的
每日推荐:
4405/500排名<font color="#FF昨日变化主题帖子积分
四处流浪, 积分 405, 距离下一级还需 95 积分
四处流浪, 积分 405, 距离下一级还需 95 积分
在线时间57 小时
配置,各种配置,比如技能配置文件啊
请问大哥什么叫配置文件啊?能否举个例子?谢谢。。。。。。。。。。。。。
每日推荐:
4405/500排名<font color="#FF昨日变化主题帖子积分
四处流浪, 积分 405, 距离下一级还需 95 积分
四处流浪, 积分 405, 距离下一级还需 95 积分
在线时间57 小时
数据存储读取
请问这和json的作用类似吗?我用过json解析字符串什么的,但是没用过xml
每日推荐:
4405/500排名<font color="#FF昨日变化主题帖子积分
四处流浪, 积分 405, 距离下一级还需 95 积分
四处流浪, 积分 405, 距离下一级还需 95 积分
在线时间57 小时
通信 和 存储数据,读取和解析速度都挺快的
请问大哥这和json的作用类似吗?我用过json解析字符串什么的,但是没用过xml
每日推荐:
71903/5000排名<font color="#FF昨日变化主题帖子积分
日久生情, 积分 1903, 距离下一级还需 3097 积分
日久生情, 积分 1903, 距离下一级还需 3097 积分
蛮牛币4266
在线时间453 小时
你既然用过json
那么用json存取也就可以的
每日推荐:
4405/500排名<font color="#FF昨日变化主题帖子积分
四处流浪, 积分 405, 距离下一级还需 95 积分
四处流浪, 积分 405, 距离下一级还需 95 积分
在线时间57 小时
你既然用过json
那么用json存取也就可以的
意思是两个作用基本相同吗?谢谢大哥
每日推荐:
5837/1000排名<font color="#FF昨日变化4主题帖子积分
熟悉之中, 积分 837, 距离下一级还需 163 积分
熟悉之中, 积分 837, 距离下一级还需 163 积分
在线时间156 小时
所有的软件,用xml都是为了做配置或者说明
xml本身是一种文本格式而已。而不是什么语言。只是它有它自己的语言规定。
你就理解为文本就好了。你也可以用txt代替xml
怎么样,详细吧。
每日推荐:
4316/500排名<font color="#FF昨日变化10主题帖子积分
四处流浪, 积分 316, 距离下一级还需 184 积分
四处流浪, 积分 316, 距离下一级还需 184 积分
在线时间71 小时
意思是两个作用基本相同吗?谢谢大哥
字数补丁.exe
每日推荐:
12排名<font color="#FF昨日变化2主题帖子积分
蛮牛币120625
在线时间2567 小时
来自Mobile---
存储数据啊
每日推荐:
社区QQ达人
使用QQ帐号登录论坛的用户
购买游戏蛮牛书籍
连续签到30天XML文档有什么作用?_百度知道
XML文档有什么作用?
我有更好的答案
固定格式文件,内容以标签规则结构,可以支持数据配置,结构数据存储,很多网络接口也是xml的格式进行数据传输。
很多大的框架都支持 xml文件读取,基本作为参数配置文件。
采纳率:73%
来自团队:
xml功能太强大了,举几个例子吧 1、可以做为数据库存储数据 读操作: 假如你的web应用程序里有一个Products.xml,你可以用DataSet来读取这个xml,然后绑定到DataList,DataGrid等的控件上 写操作: 如果你建立一个购物车的DataTable,就可以将它写入到xml文件中去 2、如果你会用xsl,可以将xml整合到首页上,让你更新网页更容易,也很容易管理,样式改动也方便 3、关于xml的技术太多了,xpath,xquery,xslt等等,包括语音标记、矢量图标记等等,详情请参照
4、一般的说,xml已经广泛的应用,你用的office软件保存的doc,xls等等的格式背后都是xml标记,一些矢量图的软件Visio,做出的图形其实都是基于xml技术的,ajax技术也是基于xml技术的 5、忘了最重要的一个未来会大大发展的技术,web services,实质也是xml的一种应用
XML(eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是处于SGML,标准通用语言。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。 XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。 XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从60年代就开始发展的GML(Generalized Markup Language) 同HTML一样, XML (可扩展标识语言)是通用标识语言标准(SGML)的一个子集,它是描述网络上的数据内容和结构的标准。尽管如此,XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML则对数据赋予上下文相关功能,它继承了SGML的大部分功能,却使用了不太复杂的技术。. 为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。 因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 ( )。因为XML 是个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言XML(可扩展标记语言)是从称为SGML(标准通用标记语言)的更加古老的语言派生出来的。SGML的主要目的是定义使用标签来表示数据的标记语言的语法。标签由包围在一个小于号(&)和一个大于号(&)之间的文本组成,例如。起始标签(start tag)表示一个特定区域的开始,例如;结束标签(end tag)定义了一个区域的结束,除了在小于号之后紧跟着一个斜线(/)外,和起始标签基本一样,例如&/end&。SGML还定义了标签的特性(attribute),它们是定义在小于号和大于号之间的值,例如中的src特性。如果你觉得它看起来很熟悉的话,应该知道,基于SGML的语言的最著名实现就是原始的HTML。
1条折叠回答
为您推荐:
其他类似问题
您可能关注的内容
xml文档的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。网络游戏存储数据,用txt好还是xml?为什么_百度知道
网络游戏存储数据,用txt好还是xml?为什么
我有更好的答案
楼主 首先我们应该明白xml的作用:XML的简单使其易于在任何应用程序中读写数据,这使XML成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。————————————————————————由上面我们可以得知,XML成为数据交换的唯一公共语言,异构系统 甚至 异构平台的信息交互 都要靠xml传输数据,举个例子:.net 开发的系统 和 java开发的系统 如何进行数据交换,如何进行深度整合和互操作,考得就是webservice,而现在webservice数据格式一般都是采用xml的,因为xml是数据交换的事实上的工业标准了,通过它我们可以“穿透那个可亲又讨厌的防火墙”. 呵呵数据一般都是从数据库中取出的吧,所以 研究xml与数据库数据的互相转化和映射关系,就显的非常重要了。————————————————————————XML在Web领域已经得到了广泛的应用,而XML数据库一直是个研究热点。各数据库厂商及研究机构纷纷投入对XML技术的研究及开发。大体上可以把XML数据库分为两类:原生XML数据库(Native XML Database)和使能XML数据库(Enable XML Database)。而XML数据一般可划分为粗粒度、中粒度及细粒度三种形式。以文档为中心的粗粒度形式,一般采用原生XML数据库,而以数据为中心的细粒度形式一般采用使能XML数据库。 XML数据是嵌套的树形结构,而关系数据库是简单、平面的二维表结构,结构的差异性,使得在存储XML数据时需要按一定的映射规则进行转换,并使能够恢复到原XML文件。 XML文件物理结构上由多种元素组成,本文的研究只考虑常用的ELEMENT、TEXT、ATTRIBUTE三种元素,采用三个表来保存XML数据。主要思想是把树结构中的中间节点(非属性和文本节点)放入mNode(Middle Node)表,叶子节点(属性和文本节点)放入eNode(End Node)表,另外一个是ePath表,用于保存从根节点到叶子节点的路径。当然保存多个XML时,我们会引入一个用于保存区分各个XML的表。详细说明如下: 1) Path(pathID, path) 该表主要保存从根结点到各个叶子结点的所有不同的路径,在查询时可满足类似于Xpat的查询。 pathID:各不同的路径标识符,在解析过程中产生。 path:实际路径名称。 2)mNode(nodeID, nodeName, parentID, order, pathID) 该表主要通过指定parentID来保存各节点间的父子关系,以保持原XML的树型结构。 nodeID:节点的唯一标识符,在解析过程中产生。 nodeName:节点的名称,即XML中的实际名称。 parentID:父节点的标识符,根节点置为-1。 order:兄弟节点的先后次序。 pathID:从根结点到本节点所走的路径。 3)eNode(nodeName, nodeValue, parentID, order, type) 该表主要保存属性及文本节点的值。 nodeName:属性名,如果是文本节点则取其父节点名。 nodeValue:属性文本值。 parentID:父节点的标识符。 order:兄弟节点的先后次序。 type:用于区分属性还是文本的标量。4转换方法 从XML到SQL,一般都是采用递归算法,先根遍历XML树结构,而从SQL返回到XML时,一般采用队列生成XML节点。递归过程一般要消耗较多的时间和空间,在处理较大结构的XML时,性能上不是很理想。 本模型在XML和SQL中放入一个中间层,该层中主要有根据DTD或Schema生成的一系列Bean、一个操作SQL的模块、一个操作XML的模块,另外在此基础上还可以方便扩展给其他业务逻辑层调用的模块。结构如下图所示: JavaBeans:这里所说的JavaBeans是根据XML 对应的DTD或Schema所产生的有级联关系的类。通过这些类逻辑上形成一棵XML树形结构,用于存放实际XML数据。对于如下的一部分DTD: &! ELEMENT book (title, price, author+)&&! ATTLIST book year CDATA&&! ELEMENT title (#PCDATA)&&! ELEMENT price (#PCDATA)&我们可以设计一个BookItem类,它包括一个TitleTxt字段、一个PriceTxt字段、一个AuthorBean字段以及一个YearAttr字段,其中AuthorBean由多个AuthorItem组成,类似的,AuthorItem包含它下面的节点信息。在这个过程中,可以完成ePath表的信息建立。 根据前面的映射模型,对于BookItem类的title字段,设计如下形式的类结构: Public Class BookItem(){Private String titleTPublic setTitleTxt(String title){}Public getTitleTxt(){}Public setTitleParentID(int parentID){}Public getTitleParentID(){}Public setTitleOrder(){int order}Public getTitleOrder(){}…}而对于AuthorBean类,类结构设计如下: Public Class AuthorBean(){Private Vector beanVPublic void add(AuthorItem authorItem){}Public AuthorItem getByIndex(int index){}Public int getSize(){}…}从结构上容易看出,代码量非常大,但由于都是一些get()和set()方法,这些代码不用通过手工去撰写,而是根据DTD或Scheme的信息自动生成。在过程①及过程④中调用set()方法,在过程②及过程③中调用get()方法。 XML Operator:该模块可以支持DOM、SAX解析。根据层次信息依次解析每个节点,此过程中记录父子节点关系,并且记录一个节点中所有子节点的先后顺序,并设定到Bean中。 SQL Operator:该模块主要是把Bean中的信息写入数据库,以及从数据库中读取信息供重组XML。
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 c语言一般用来做什么 的文章

 

随机推荐