xmlStudy1

1.xml简介

2.语法规则

3.属性、注释、转义字符、CDATA块、处理指令

4.XML解析原理

5.DOM解析

1.xml简介:

top

xml由W3C(万维网联盟)创建,被设计用于传输和存储数据,作为小型的数据库、软件的配置文件,现如今主要是用于软件的配置文件。

据说:由于html语法不够严谨所以便开发了xml,但是html的发展速度及其迅速所以便转移了方向,其有力证明是xml可引入css文件进行网页的布局。

2.语法规则

top

xml与html及其类似,但其标签是自定义的。

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

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

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

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

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

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

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

3.属性、注释、转义字符、文档声明、CDATA块

top

  3.1:属性:

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

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

  3.2:注释:

        <!--  xml注释 -->

  3.3:转意字符:

        <         &lt;

        >         &gt;

                     "         &quot;

                     &         &amp;

                     空格      &nsbp;

       。。。。。。

  3.4文档声明

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

                   version: xml的版本号

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

  3.5:CDATA块

                   作用: 可以让一些需要进行包含特殊字符的内容统一进行原样输出。

4.xml解析

top

DOM解析原理:

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

解析工具

                   1)JAXP (oracle-Sun公司官方)

                   2)JDOM工具(非官方)

                   3)Dom4J工具(非官方)

                              三大框架(默认读取xml的工具就是Dom4j)

                   .......

SAX解析原理:

                  1)Sax解析工具(oracle-sun公司官方)

5.dom解析

top

常用方法:

 1 //节点
 2 Iterator Element.nodeIterator();//获取当前标签下的所有节点对象
 3 //标签
 4 Document Document.getRootElement();//获取当前xml文档下的根标签
 5 List<Element> Element.elements();//获取所有子标签对象
 6 Iterator<Element> Element.elementIterator();//获取所有子标签对象
 7 Element Element.getElement("标签名");//获取当前标签下的第一个指定名称子标签对象
 8 //属性
 9 String Element.attributeValue("属性名称");//获取指定名称的属性值
10 Attribute Element.attribute("属性名");//获取指定名称的属性对象
11 String Attribute.getName();//获取属性对象的属性值
12 String Attribute.getValue();//获取属性对象的属性值
13 List<Attribute> Element.attributes();//获取所有属性对象
14 Iterator<Attribute> Element.attributeIterator();//获取所有属性对象
15 //文本
16 String Element.getText();//获取所有文本内容
17 String Elment.getText("标签名");//获取指定子标签的文本内容
View Code

Dom4j的使用步骤

  1.导入Dom4j包

  2.创建xml解析器对象

1 SAXReader reader = new SAXReader();

  3.用xml解析器对象解析一个xml文档,获得一个Document对象

1 Document doc = reader.read(new File("文档路径"));

  4.获取根节点

1 Element elem = doc.getRootElement();

  5.使用根节点进行各种操作

  ......

原文地址:https://www.cnblogs.com/gzc911/p/4975986.html