XML:可扩展标记语言
- <b>XML与 HTML 的主要差异</b>
1.XML 不是HTML 的替代;
2.XML 和HTML 为不同的目的而设计:
3.XML 被设计为传输和存储数据,其焦点是数据的内容。
4.HTML 被设计用来显示数据,其焦点是数据的外观。
5.HTML 旨在显示信息,而XML 旨在传输信息。
- <b>XML 简化数据共享</b>
在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。
XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。
这让创建不同应用程序可以共享的数据变得更加容易。
- <b>XML 文档形成一种树结构</b>
XML 文档必须包含 根元素 。该元素是所有其他元素的父元素。
所有元素均可拥有子元素:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
<b>所有XML 元素都须有关闭标签</b>
<b>XML 标签对大小写敏感</b>
<b>XML的属性值须加引号</b>
<b>属性值必须被引号包围,不过单引号和双引号均可使用。</b>
如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:
<gangster name='George "Shotgun" Ziegler'>
- <b>实体引用</b>
在XML 中,一些字符拥有特殊的意义。
如果你把字符"<" 放在XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
这样会产生XML 错误:
<message>if salary < 1000 then</message>
为了避免这个错误,请用实体引用来代替 "<" 字符:
<message>if salary < 1000 then</message>
在XML 中,有5 个预定义的实体引用:
< < 小于
> > 大于
& & 和号
' ' 单引号
" " 引号
注释:在XML 中,只有字符"<" 和"&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
- <b>在 XML 中,空格会被保留</b>
- <b>最佳命名习惯</b>
使名称具有描述性。使用下划线的名称也很不错。
名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
1.避免** "-" **字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。
2.避免** "." **字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
3.避免** ":" **字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名XML 文档中的元素。
- <b>XML 元素vs. 属性</b>
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
在第一个例子中,sex 是一个属性。在第二个例子中,sex 则是一个子元素。两个例子均可提供相同的信息。
没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。
- <b>避免XML 属性?</b>
因使用属性而引起的一些问题:
1.属性无法包含多重的值(元素可以)
2.属性无法描述树结构(元素可以)
3.属性不易扩展(为未来的变化)
4.属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
- <b>什么是 XMLHttpRequest 对象?</b>
XMLHttpRequest 对象用于在后台与服务器交换数据。
XMLHttpRequest 对象是开发者的梦想,因为您能够:
1.在不重新加载页面的情况下更新网页
2.在页面已加载后从服务器请求数据
3.在页面已加载后从服务器接收数据
4.在后台向服务器发送数据