XML文件的基本结构 [大三四八九月实习]

TinyXML官网之上介绍的XML文件的几种形式,咱们用TinyXML集的类都可以创建这几种格式的XML文件。

 

1 XML文件的几种结构

First One

<?xml version="1.0" ?>

<Hello>World</Hello>

Second One

<?xml version="1.0" ?>
<poetry>
       <verse>
               Alas
                 Great World
                       Alas (again)
       </verse>
</poetry>

Third One

<?xml version="1.0" ?>
<shapes>
       <circle name="int-based" x="20" y="30" r="50" />
       <point name="float-based" x="3.5" y="52.1" />
</shapes>

Fourth One

<?xml version="1.0" ?>
<MyApp>
    <!-- Settings for MyApp -->
    <Messages>
        <Welcome>Welcome to MyApp</Welcome>
        <Farewell>Thank you for using MyApp</Farewell>
    </Messages>
    <Windows>
        <Window name="MainFrame" x="5" y="15" w="400" h="250" />
    </Windows>
    <Connection ip="192.168.0.1" timeout="123.456000" />
</MyApp>

2 XML文件的结构

不管是哪一种形式的XML文件,所具结构都是一样的。

一个XML文件通常包含文件头和文件体两大部分。

 

(1)文件头

文件头由XML声明( XML文件的第一语句)和可缺省(可缺省笔记也就缺省了)DTD文件类型声明组成。

XML声明

XML声明在XML文件中必须具有,它的内容使文件符合XML的标准规格。格式为:

<?xml 版本信息编码信息文档独立性信息 ?>例:<? Xml version=”1.0”encoding=”gb2312” standalone=”yes”>

XML声明必须出现在XML文档的第一行。

 

(2)文件体

文件体中包含的是XML文件的内容,XML元素是XML文件内容的基本单元。从语法讲,一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。

<bookstore>
<book category="CHILDREN">
  <title>Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title>Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore> 

 

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

 

在上例中,<bookstore> 和 <book> 都拥有元素内容,因为它们包含了其他元素。<author> 只有文本内容,因为它仅包含文本。

在上例中,只有 <book> 元素拥有属性 (category="CHILDREN")。

摘自<http://www.w3school.com.cn/xml/xml_elements.asp>

 

所有的数据内容都必须在某个标记的开始和结束标记内,而每个标记又必须包含在另一个标记的开始与结束标记内,形成嵌套式的分布,只有最外层的标记不必被其他的标记所包含。最外层的是根元素(Root),又称文件(Document)元素,所有的元素都包含在根元素内。


3 TinyXML类与XML文件的对应

不用去关心XML语法,因为在这里我们要做的不是用XML语言去编写XML语言。我们只是调用TinyXML中的类来完成对XML文件的创建、读写操作。所以,我们只需要了解一点关于XML文件的结构即可用TinyXML类来编写咱们的XML文件,达到供程序使用的目的(存储数据,代替文件流 )。

 

在明白XML结构(诸如元素等的重要结构)之后令人想到:TinyXML类以XML文件为对象,封装了与XML文件每个部分对应的类。TiXmlDocument对应XML整个文件,TiXmlDeclaration类对应XML文件的声明部分,TiXmlElement对应XML的每个元素( XML文体的主要内容就是元素,恐怕对其类操作很多 ),因为XML元素还包括“属性”、“文本”及“包含的元素”等内容,所以还TinyXML还拥有TiXmlText实现XML内容的类,还拥有实现每个元素属性的类TiXmlAttribute。用每个类的成员函数LinkEndChild()来实现XML中每个元素的嵌套,按照XML的结构流程使用TinyXML类,使用TinyXML时参看其官方手册。是表述不清 ]

明白这一层关系之后,在使用TinyXML的脉络上就更应该清晰了。

 

 

此次笔记记录完毕。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值