📜  如何定义 XML 文档的结构?(1)

📅  最后修改于: 2023-12-03 15:24:42.515000             🧑  作者: Mango

如何定义 XML 文档的结构?

XML(可扩展标记语言)是将数据存储、传输和使用的常用格式。在 XML 中,文档的结构通过定义 XML 元素来实现。本文将向您介绍如何定义 XML 文档的结构。

XML 元素

XML 元素是 XML 文档的基本单位。每个 XML 元素都可以包含文本和其他 XML 元素。每个 XML 元素都必须有一个开始标记和一个结束标记。

以下是一个 XML 元素的示例:

<book>
  <title>Harry Potter and the Philosopher's Stone</title>
  <author>J.K. Rowling</author>
  <publisher>Bloomsbury</publisher>
</book>

在上面的示例中,<book> 是一个 XML 元素,其中包含了三个子元素:<title><author><publisher>

请注意,如果一个 XML 元素不包含任何子元素,则可以使用自闭合标记来表示它。例如:

<bookstore>
  <book category="Children" price="29.99">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
  </book>
  <book category="Web" price="49.99">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
  </book>
</bookstore>

在上面的示例中,<book> 元素包含了两个属性:categoryprice,同时也包含了两个子元素:<title><author>。由于 categoryprice 属性是可以直接定义在 <book> 的开始标记中的,所以在两个 book 子元素结束标记之前,它们的自闭合标记就已经出现了。

XML 属性

XML 属性是表示 XML 元素属性的键值对。在 XML 元素中,属性用于提供关于元素的额外信息。

以下是一个属性的示例:

<book category="Children" price="29.99">
  <title>Harry Potter</title>
  <author>J.K. Rowling</author>
</book>

在上面的示例中,categoryprice 是属性名称,Children29.99 是属性值。

可以在 XML 元素的开始标记中定义属性:

<bookstore>
  <book category="Children" price="29.99">
    <title>Harry Potter</title>
    <author>J.K. Rowling</author>
  </book>
  <book category="Web" price="49.99">
    <title>Learning XML</title>
    <author>Erik T. Ray</author>
  </book>
</bookstore>

在上面的示例中,categoryprice 这两个属性都定义在了 book 元素的开始标记中。

XML 命名空间

XML 允许使用 XML 命名空间来避免元素名称冲突。在 XML 中,命名空间可以通过以下方式定义:

<h:bookstore xmlns:h="http://www.w3.org/TR/html4/"
            xmlns:f="http://www.w3schools.com/furniture">
  <h:book category="Children">
    <h:title lang="en">Harry Potter</h:title>
    <h:author>J.K. Rowling</h:author>
    <f:color>red</f:color>
  </h:book>
</h:bookstore>

在上面的示例中,xmlns:h 使用了命名空间 h,它定义了一个指向 HTML 4 的命名空间。在该 bookstore 元素中,我们可以使用如下的限定名称:

h:book
h:title
h:author

同时,我们也可以使用 f:color 属性,它使用了命名空间 f

总结

本文介绍了 XML 元素、XML 属性和 XML 命名空间。在设计 XML 文档时,您可以使用这些元素来定义 XML 数据的结构,并在其中存储有用的信息。