XML解析-Jsoup

解析XML方式

解析XML文档的思想一共有两大类,分别是DOM和SAX。
DOM:将标记语言文档一次加载到内存,在内存中形成一颗DOM树,优点是操作方便,可以进行所有操作。
缺点就是占用内存资源实在是太多了。非常消耗内存。
SAX:逐行读取,基于事件驱动的。优点是:基本不占内存,很适用于内存较小的设备。缺点是:只能读取,不能生成XML文档。
服务器端一般都是用DOM的思想,所以我们今天学习DOM思想

常见的解析器

解析器,有JAXP,这个是sun公司提供的,支持dom和sax两种思想,不过因为太老了,所以已经成为了辣鸡。
第二种,就是DOM4J这个是非常优秀的,大多数时候都学习它
第三种,就是Jsoup,这个东西本来是用来解析HTML的,不过说实话,HTML不过就是规定约束文件的XML而已,所以Jsoup也可以用来解析XML

Jsoup快速入门

1.导入jar包
2.获取Document对象
3.获取Element对象(对应的标签)
4.获取数据
这些看起来好像和DOM4J没什么区别呀

import org.jsoup.Jsoup;

import java.io.File;
import java.io.IOException;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Main{
    public static void main(String[] args) {
        String path=Main.class.getClassLoader().getResource("student.xml").getPath();
        //解析XML文档,加载文档进内存,获取DOM树
        try {
            Document document=Jsoup.parse(new File(path),"utf-8");
            Elements elements=document.getElementsByTag("name");
            System.out.println(elements.size());
            Element element=elements.get(1);
            System.out.println(element.text());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

你可能感兴趣的:(XML解析-Jsoup)