-----记录和回顾是一个比学习更重要的环节-----

一、首先,我们需要知道xml是做什么的

1.作为软件的配置文件

2.作为数据的载体(小型的数据库)

二、xml的语法

xml文件以xml后缀名结尾。

xml文件需要使用xml解析器去解析。浏览器内置了xml解析器。

1.标签

语法:<student></student>  开始标签  标签体内容  结束标签

1<student/>  <student></student> 空标签。没有标签体内容

2xml标签名称区分大小写。

3xml标签一定要正确配对。

4xml标签名中间不能使用空格

5xml标签名不能以数字开头

6)注意: 在一个xml文档中,有且仅有一个根标签

2.属性

语法: <Student name="eric">student</Student>

注意:

1)属性值必须以引号包含,不能省略,也不能单双引号混用!!!

2)一个标签内可以有多个属性,但不能出现重复的属性名!!!

3.注释

语言: <!--  xml注释 -->

4.文档声明

语法: <?xml version="1.0" encoding="utf-8"?>

version: xml的版本号

encoding: 解析xml文件时查询的码表(解码过程时查询的码表)

注意:

1)如果在ecplise工具中开发xml文件,保存xml文件时自动按照文档声明的encoding来保存文 件。

2)如果用记事本工具修改xml文件,注意保存xml文件按照文档声明的encoding的码表来保存,保证xml文件保存的码表和encoding是一致的。

5.转义字符

xml中内置了一些特殊字符,这些特殊字符不能直接被浏览器原样输出。如果希望把这些特殊字符按照原样输出到浏览器,对这些特殊字符进行转义。转义之后的字符就叫转义字节。

  特殊字符  转义字符

 <                &lt;

 >                &gt;

 "                 &quot;

&                 &amp;

空格            &nsbp;

三、dom4j解析xml

DOM解析原理:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容。

 

 1     /**
 2      * 遍历所有节点
 3      * @throws Exception 
 4      * 
 5      */
 6     @Test
 7     public void  test2 () throws Exception{
 8                 //1.创建一个xml解析器对象
 9         SAXReader saxReader = new SAXReader();
10         //2.读取xml文档,返回Document对象
11         Document read = saxReader.read(new File("./src/test.xml"));
12         Element rootElement = read.getRootElement();
13         getElement(rootElement);
14     }
15     
16     private void getElement(Element element){
17         System.out.println(element.getName());
18         Iterator<Node> it = element.nodeIterator();
19         while (it.hasNext()) {
20             Node node = it.next();
21             if (node instanceof Element) {
22                 Element element2 = (Element)node;
23                 getElement(element2);
24             }
25         }
26     }

输出结果:

 

students
student
name
age
student
name
age
View Code

相关文章: