XML 树结构学习笔记

XML(Extensible Markup Language)是一种可扩展性标记语言,用于描述数据的结构和内容。XML 文件由标签、属性和值组成,具有良好的可读性和可扩展性。在 XML 中,数据被组织成一个树形结构,其中每个元素都有一个父元素和零个或多个子元素。本文将介绍 XML 树结构的基本概念和实例。

基本概念

根元素

XML 树结构的根节点称为根元素(root element)。它是所有其他元素的祖先节点,也是唯一的顶级元素。在 XML 文档中,根元素只能有一个,并且必须包含所有其他元素。

元素

XML 中的元素(element)是由开始标签、结束标签和标签内容组成的。元素可以有多个子元素,也可以没有子元素。每个元素都可以定义自己的属性,用于存储与元素相关的信息。

属性

XML 元素可以定义属性(attribute),用于存储与元素相关的附加信息。属性由属性名称和属性值组成,用等号连接,例如:<book id="001" title="Java Programming">

命名空间

XML 命名空间(namespace)是用于避免元素和属性名称冲突的一种机制。命名空间通过为元素和属性添加前缀来定义,并使用 xmlns 属性指定命名空间的 URI。

实例

以下是一个简单的 XML 文档,展示了 XML 树结构的基本概念:

Copy Code
<?xml version="1.0" encoding="UTF-8"?> <library xmlns="http://www.example.com/library" xmlns:book="http://www.example.com/library/book"> <book:category>Fiction</book:category> <book:book id="001"> <book:title>Java Programming</book:title> <book:author>John Doe</book:author> </book:book> <book:book id="002"> <book:title>Python Programming</book:title> <book:author>Jane Smith</book:author> </book:book> </library>

在上面的 XML 文档中,根元素是 library,包含两个子元素 book:categorybook:book,以及两个命名空间 http://www.example.com/libraryhttp://www.example.com/library/bookbook:category 元素没有子元素,但包含文本内容 Fictionbook:book 元素包含两个属性 id 和命名空间前缀为 book 的子元素 titleauthor,分别表示书籍的标题和作者。