xml读写规则

xml读写规则


# 避免 “:” 字符。
冒号会被转换为命名空间来使用
表格定义:标签结构
数据对应:指定元素

所有的标题都用<>来表示。

示例
<新闻>
			<新闻>
						<id><1001><\id>
						<标题><尚......><\标题>
						<>......
						......
			<\新闻>
					<id><1002><\id>
					<标题><JAVA......><\标题>
					<>......
					......
<\新闻>

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

XML 简化数据传输

	通过 XML,
可以在不兼容的系统之间轻松地交换数据。
对开发人员来说,
其中一项最费时的挑战一直是在因特网
上的不兼容系统之间交换数据。
由于可以通过各种不兼容的应用程序来读取数据,
以 XML 交换数据降低了这种复杂性。

XML 简化平台的变更

	升级到新的系统(硬件或软件平台),
总是非常费时的。
必须转换大量的数据,
不兼容的数据经常会丢失。

	XML 数据以文本格式存储。
这使得 XML 在不损失数据的情况下,
更容易扩展或升级到新的操作系统、
新应用程序或新的浏览器。

XML 标签对大小写敏感

XML 元素使用 XML 标签进行定义。
XML 标签对大小写敏感。
在 XML 中,
标签 <Letter> 与标签 <letter> 是不同的。
必须使用相同的大小写来编写打开标签和关闭标签:
<Message>这是错误的。</message>

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

XML 必须正确地嵌套

在 HTML 中,常会看到没有正确嵌套的元素:
<b><i>This text is bold and italic</b></i>
在 XML 中,所有元素都必须彼此正确地嵌套:
<b><i>This text is bold and italic</i></b>
	在上例中,正确嵌套的意思是:
由于 <i> 元素是在 <b> 元素内打开的,
那么它必须在 <b> 元素内关闭。

XML 文档必须有根元素

XML 文档必须有一个元素是所有其他元素的父元素
该元素称为根元素。
<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

XML 的属性值须加引号

与 HTML 类似,
XML 也可拥有属性(名称/值的对)。
XML 元素可以在开始标签中包含属性,
类似 HTML。
属性 (Attribute) 提供关于元素的额外(附加)信息。
在 XML 中,XML 的属性值须加引号。
请研究下面的两个 XML 文档。
第一个是错误的,第二个是正确的:
<note date=08/08/2008>
<to>George</to>
<from>John</from>
</note> 
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note> 
在第一个文档中的错误是,
note 元素中的 date 属性没有加引号。

XML 属性必须加引号

	属性值必须被引号包围,
	不过单引号和双引号均可使用。
比如一个人的性别,
person 标签可以这样写:
<person sex="female">
或者这样也可以:

<person sex='female'>
注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:

<gangster name='George "Shotgun" Ziegler'>
或者可以使用实体引用:

<gangster name="George &quot;Shotgun&quot; Ziegler">

XML 中的注释

在 XML 中编写注释的语法与 HTML 的语法很相似:
<!-- This is a comment --> 

在 XML 中,空格会被保留

HTML 会把多个连续的空格字符裁减(合并)为一个:
HTML:	Hello           my name is David.
输出:	Hello my name is David.
在 XML 中,文档中的空格不会被删节。

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> 
		在上例中,
	<bookstore> 和 <book> 都拥有元素内容,
	因为它们包含了其他元素。
	<author> 只有文本内容,
	因为它仅包含文本。
	在上例中,
	只有 <book> 元素拥有属性 (category="CHILDREN")。

XML 元素是可扩展的

XML 元素是可扩展,
以携带更多的信息。
请看下面这个 XML 例子:
<note>
<to>George</to>
<from>John</from>
<body>Don't forget the meeting!</body>
</note> 

让我们设想一下,
我们创建了一个应用程序,
可将 、 以及 元素提取出来,
并产生以下的输出:

MESSAGE
To: George
From: John

Don't forget the meeting!
想象一下,
之后这个 XML 文档作者又向这个文档添加了一些额外的信息:
<note>
<date>2008-08-08</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
那么这个应用程序会中断或崩溃吗?
不会。这个应用程序仍然可以找到 XML 文档中的 <to>、
<from> 以及 <body> 元素,并产生同样的输出。
XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展。

XML 命名空间提供避免元素命名冲突的方法。

	命名冲突
在 XML 中,
元素名称是由开发者定义的,
当两个不同的文档使用相同的元素名时,
就会发生命名冲突。
这个 XML 文档携带着某个表格中的信息:
<table>
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>
这个 XML 文档携带有关桌子的信息(一件家具):
<table>
    <tr>
   <name>African Coffee Table</name>
   <width>80</width>
   <length>120</length>
     </tr>
</table>
假如这两个 XML 文档被一起使用,
由于两个文档都包含带有不同内容和
定义的 <table> 元素,就会发生命名冲突。
XML 解析器无法确定如何处理这类冲突。

本篇完结!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值