目录

XML 元素


XML 文档包含 XML 元素。


什么是 XML 元素?

XML 元素是从(包括)元素的开始标记到(包括)元素的结束标记的所有内容。

<price>29.99</price>

一个元素可以包含:

  • 文本
  • 属性
  • 其他元素
  • 或以上的混合
<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>

在上面的例子中:

<标题>、<作者>、<年份> 和 <价格> 有文字内容因为它们包含文本(如 29.99)。

<bookstore> 和 <book> 有元素内容,因为它们包含元素。

<书>有一个属性(类别="children")。


空 XML 元素

没有内容的元素被称为空元素。

在 XML 中,您可以像这样指示空元素:

<element></element>

您还可以使用所谓的自关闭标签:

<element />

这两种形式在 XML 软件(读取器、解析器、浏览器)中产生相同的结果。

空元素可以有属性。



XML 命名规则

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

  • 元素名称区分大小写
  • 元素名称必须以字母或下划线开头
  • 元素名称不能以字母 xml(或 XML、Xml 等)开头
  • 元素名称可以包含字母、数字、连字符、下划线和句点
  • 元素名称不能包含空格

可以使用任何名称,不保留任何单词(xml 除外)。


最佳命名实践

创建描述性名称,如下所示:<person>、<firstname>、<lastname>。

创建简短的名称,如下所示:<book_title>,而不是这样:<the_title_of_the_book>。

避免"-"。如果您命名为 "first-name",某些软件可能会认为您想要从 "first" 中减去 "name"。

避免"."。如果您将某项命名为"first.name",某些软件可能会认为"name" 是对象"first" 的属性。

避免":"。冒号是为命名空间保留的(稍后会详细介绍)。

像 éòá 这样的非英语字母在 XML 中是完全合法的,但是如果您的软件不支持它们,请小心出现问题!


命名约定

XML 元素的一些常用命名约定:

样式 示例 描述
小写 <名字> 所有字母小写
大写 <名字> 所有字母大写
蛇案 <名字> 下划线分隔单词(常用于SQL数据库)
帕斯卡案例 <名字> 每个单词的第一个字母大写(C 程序员常用)
骆驼香烟盒 <名字> 除第一个之外的每个单词的首字母大写(常用于 JavaScript)

提示!选择您的命名样式,并保持一致!

XML 文档通常有一个相应的数据库。常见的做法是对 XML 元素使用数据库的命名规则。


XML 元素是可扩展的

XML 元素可以扩展以携带更多信息。

请看下面的 XML 示例:

<note>
  <to>Tove</to>
  <from>Jani</from>
  <body>Don't forget me this weekend!</body>
</note>

假设我们创建了一个应用程序,该应用程序从 XML 文档中提取 <to>、<from> 和 <body> 元素以生成以下输出:

信息

到:托芙
从:贾尼

这个周末别忘了我!

想象一下 XML 文档的作者向其中添加了一些额外的信息:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

应用程序应该崩溃还是崩溃?

不。应用程序应该仍然能够在 XML 文档中找到 <to>、<from> 和 <body> 元素并生成相同的输出。

这是 XML 的优点之一。它可以在不破坏应用程序的情况下进行扩展。