"节点对象-XML基础课件"
XML(Extensible Markup Language)是一种可扩展标记语言,设计用来传输和存储有结构的数据。它的主要目标是描述现实世界中具有关系的数据,使得计算机能更好地理解和处理这些数据。XML不同于HTML,后者主要用于网页展示,而XML专注于数据的组织和交换。
在XML文档中,用户可以自定义标签来表示数据。例如,以下XML片段展示了中国不同省份和城市的结构:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<中国>
<北京>
<海淀></海淀>
<丰台></丰台>
</北京>
<湖南>
<长沙></长沙>
<岳阳></岳阳>
</湖南>
<湖北>
<武汉></武汉>
<荆州></荆州>
</湖北>
</中国>
```
在XML中,数据是以元素(Element)的形式存在的。元素是XML的基本构建块,可以包含文本、其他元素或两者都有。开始标签(如`<中国>`)和结束标签(如`</中国>`)定义了一个元素的范围。在这个例子中,`<中国>`是根元素,它包含了多个子元素,如`<北京>`、`<湖南>`和`<湖北>`。
对于XML的处理,有几种常见的操作:
1. 遍历节点:通过调用`elements()`方法,可以获取特定名称的子元素集合,然后使用迭代器进行遍历,例如:
```java
List nodes = rootElm.elements("member");
for (Iterator it = nodes.iterator(); it.hasNext();) {
Element elm = (Element) it.next();
// 处理每个member元素
}
```
2. 全部子节点遍历:使用`elementIterator()`方法可以遍历某节点下的所有子元素,无论它们的标签是什么:
```java
for (Iterator it = root.elementIterator(); it.hasNext();) {
Element element = (Element) it.next();
// 处理每个子元素
}
```
3. 添加子节点:创建新的元素并将其添加到现有元素下,例如:
```java
Element newMemberElm = parentElm.addElement("newMember");
Element ageElm = newMemberElm.addElement("age");
```
XML文档的规则很重要,它们分为三类:格式不良好的XML文档(不遵循基本规范)、格式良好的XML文档(遵循基本规范但无语义约束)和有效的XML文档(不仅遵循基本规范,还遵循DTD或Schema定义的语义约束)。
XML文档通常包含以下几个部分:
- 文档声明:`<?xml version="1.0" encoding="UTF-8"?>`,指定XML版本和编码方式。
- 元素:如上述示例中的`<中国>`、`<北京>`等。
- 属性:元素可以有属性,如`<元素名 属性名="属性值">`。
- 注释:用于解释代码,如`<!-- 这是一个注释 -->`。
- CDATA区:用于包含不受解析的文本,如`<![CDATA[ 这里是不受解析的文本 ]]>`。
- 处理指令:用于向处理器提供指令,如`<?processor instruction?>`。
XML语法严格,要求所有打开的标签必须关闭,元素嵌套正确,且遵循命名规则。此外,XML常用于软件配置文件,描述模块间的依赖关系,增加系统的灵活性。
XML是描述和交换结构化数据的强大工具,广泛应用于数据存储、配置文件、网络通信等领域。掌握XML的基础知识,包括节点操作和文档结构,对于任何涉及数据处理的IT专业人员都至关重要。