XML学习

XML学习

本文参考了w3school的XML 教程,详细看具体教程。


XML 简介

XML 指可扩展标记语言(EXtensible Markup Language),XML 是纯文本,不会做任何事情,被设计用来传输和存储数据,而HTML 被设计用来显示数据。

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

XML 树结构

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

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

上例中第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。

下一行描述文档的根元素:

<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 文档包含了 John 给 George 的一张便签。

  • XML 文档必须包含根元素。该元素是所有其他元素的父元素。
  • XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
  • 所有元素均可拥有子元素。
<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。
所有元素均可拥有文本内容和属性(类似 HTML 中)。

这里写图片描述

上图表示为下面的 XML :

<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>

XML 语法

  • 所有 XML 元素都须有关闭标签。
  • XML 标签对大小写敏感。
  • XML 必须正确地嵌套。
  • XML 文档必须有根元素。
  • XML 的属性值须加引号。
  • 在 XML 中,空格会被保留。
  • XML 以 LF 存储换行。

在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。

<!-- 元素都必须有关闭标签 --> 
<p>This is another paragraph</p>  

<!-- 元素都必须彼此正确地嵌套 --> 
<b><i>This text is bold and italic</i></b>

<!-- note元素中的date属性要加引号 --> 
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note> 

<!-- 文档中的空格不会被删节 --> 
HTML:   Hello           my name is David.
输出: Hello my name is David.

<!-- This is a comment 注释 --> 

实体引用

在 XML 中,一些字符拥有特殊的意义,字符 “<” 和 “&” 是非法的。
如果你把字符 “<” 放在 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> 

例中, 和 都拥有元素内容,因为它们包含了其他元素, 只有文本内容,因为它仅包含文本,只有 元素拥有属性 (category=”CHILDREN”)。

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

  • 名称可以含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字符 “xml”(或者 XML、Xml)开始
  • 名称不能包含空格

XML 属性

属性 (Attribute) 提供关于元素的额外(附加)信息。

<file type="gif">computer.gif</file>

属性通常提供不属于数据组成部分的信息。上例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要。

XML 属性值必须被引号包围,不过单引号和双引号均可使用。

<person sex="female">

<person sex='female'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值