一:概念

1、XML  Extensible markup Language 可拓展标记语言

2、功能:存储数据(配置文件,在网络中传输数据)

3、html和xml的区别

  3、1xml标记全是自定义的

  3、2xml的语法严格

  3、3xml是存储数据  html是展示数据

二:语法格式

1、文档的后缀名为 .xml

2、第一行必须是定义的文档声明

3、xml文档中有且只有一个跟标签

4、属性值必须用引号

5、标签必须关闭

6、xml标签名称区别大小写

7、约束:规定xml文档书写规则

  约束分类(DTD和Schema)

三:解析

操作xml文档,将文档中的数据读取到内存中

1、操作xml文档

  读取,将文档中的内容读取到内存中。

  

2、解析方式

  2、1dom将标记语言一次性加载进内存,在内存中形成一颗DOM树。优点:操作简单,可以进行CRUD操作。缺点:消耗内存。

  2、2sax逐行读取,基于事件驱动,不占内存,只能读不能增删改

3、常见解析器

  3、1、JAXP sun公司解析器,支持dom和sax两种思想解析接口,同时还支持XSLT接口用来将xml文档进行数据和文档转换。

  3、2DOM4J

  3、3Jsoup 它提供了一套非常省力的API直接解析URL地址,html文本内容。可通过DOM,css以及jQuery的操作方法来取出和操作数据。

  3.4Pull  Android操作系统内置的解析器,sax方式。

4、Jsoup入门程序

  1、导包

  2、获得Document对象

  3、获取对应的标签Element

  4、获取数据

5、对象的使用

  1、 Jsoup工具类可以解析xml文档,返回Document对象

    parse解析文档

  2、获取对应的标签Element

  3、获取数据

 

代码如下:

 

1 package jsoup;
 2 
 3 import org.jsoup.Jsoup;
 4 import org.jsoup.nodes.Document;
 5 import org.jsoup.nodes.Element;
 6 import org.jsoup.select.Elements;
 7 
 8 import java.io.File;
 9 import java.io.IOException;
10 
11 public class Demo1Jsoup {
12     public static void main(String[] args) throws IOException {
13 //        2获得Document 对象
14         String path = Demo1Jsoup.class.getClassLoader().getResource("st.xml").getPath();
15         Document document = Jsoup.parse(new File(path), "utf-8");
16 //        3 获取对应的标签Element
17         Elements elements = document.getElementsByTag("name");
18 //        System.out.println(elements);
19         System.out.println(elements.size());
20         Element name = elements.get(1);
21 //        4 获取数据
22         System.out.println(name);
23     }
24 }