XML学习之基础

XML基础

XML被设计用来传输和存储数据。

  • XML指可扩展标记语言
  • XML是一种标记语言,类似HTML
  • XML的设计宗旨是传输数据,而非显示数据
  • XML标签没有被预定义。需要自行定义标签
  • XML被设计为具有自我描述性。

XML树结构

XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。

<?xml version="1.0" encoding="utf-8"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第一行是XML声明。它定义XML的版本(1.0)和所使用的编码(utf-8)。
下一行是描述文档的根元素

 <note>

接下来4行描述根的4个子元素(to、from、heading以及body):

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>

最后一行定义根元素的结尾:

</note>
XML文档形成一种树结构

XML文档必须包含根元素。该元素是所有其他元素的父元素。
XML文档中的元素形成了一颗文档树。这棵树从根部开始,并扩展到树的最低端。
所有元素均可拥有子元素。
父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞。
所有元素均可拥有文本内容和属性。

XML语法

所有XML元素都必须有关闭标签

<p>This is a paragraph</p>
<p>This is another paragraph</p>  
XML标签对大小写敏感

XML元素使用XML标签进行定义。
必须使用相同的大小写来编写打开标签和关闭标签:

<Message>这是错误的。</message>

<message>这是正确的。</message> 

XML必须正确的嵌套
XML文档必须有根元素

XML的属性值须加引号

在XML中,XML的属性值须加引号

<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note> 

实体引用
在XML中,一些字符拥有特殊的意义。
为避免错误,一般使用实体引用来代替一些特殊意义的字符(XML中有预定义的实体引用):

<<小于
>>大于
&&和号
'单引号
&qupt;"双引号

在XML中,空格会被保留
在XML中,文档中的空格不会被删减。

XML元素

XML元素指的是从开始标签直到结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

XML命名规则
XML元素必须遵循以下命名规则:

  • 名称可以含字母、数字以及其他的字符。
  • 名称不能以数字或者标点符号开始。
  • 名称不能以字符"XML"(xml、Xml)开始。
  • 名称不能包含空格。
    可使用任何名称,没有保留的字词。

名称应当比较简短,比如<bool_title>,而不是<the_title_of_the_book>。
避免"-"、"."、":"字符。
XML文档有一个对应的数据库,其中的字段会对应XML文档中的元素。

XML元素是可扩展的,以携带更多的信息。
XML的优势之一,就是可以经常在不中断应用程序的情况下进行扩展。

XML属性

XML元素可以在开始标签中包含属性,属性提供关于元素的额外信息。

XML属性必须加引号
属性值必须被引号包围,不过单引号和双引号均可使用。如果属性值本身就包含双引号,那么有必要使用单引号包围它。

XML元素 vs.属性

<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

在第一个例子中,sex是一个属性,在第二个例子中,sex则是一个子元素。两者均可提供相同的信息。

属性的一些问题:

  • 属性无法包含多重的值(元素可以)
  • 属性无法描述树结构(元素可以)
  • 属性不易扩展
  • 属性难以阅读和维护
XML验证

拥有正确语法的XML被称为“形式良好”的XML。
通过DTD验证的XML是“合法”的XML。

形式良好的XML文档
“形式良好”的文档遵守XML的语法规则:

  • XML文档必须有根元素
  • XML文档必须有关闭标签
  • XML标签对大小写敏感
  • XML元素必须被正确的嵌套
  • XML属性必须加引号

验证XML文档
合法的XML文档是“形式良好”的XML文档,同时遵守文档类型定义的语法规则。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>  

在上例中,DOCTYPE声明是对外部DTD文件的引用。下面的段落展示了这个文件的内容。

XML DTD
DTD的作用是定义XML文档的结构,它使用一系列合法的元素来定义文档结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值