java -xml约束与解析简介

1.xml的约束的种类:一般有dtd以及xsd,dtd对于元素的格式并无法规定,如格式而xsd对于
要会读懂名称空间,看懂前缀即可。
在这里插入图片描述
2.xml解析的方式:有dom以及sax,sax是逐行读取,然后会释放内存资源,所以不适合CRUD,通常用于移动端或者小型设备,优点是占内存少。dom即是前面javaScript的dom技术,把一颗dom树读取进内存,
缺点内存占用大,优点crud方便,多用于服务器。
在这里插入图片描述
2.1dom的实现,常见xml的解析器:分别有jaxp,dom4j(最好用),jsoup以及pull(移动端,sax方式)
这里我们使用的是jsoup
步骤如下:导入jar包,获取doc对象,获取ele对象,读取数据即可。
小例子

public class JsoupDemo {
    public static void main(String[] args) throws IOException {
        String path = Jsoup.class.getClassLoader().getResource("student.xml").getPath();
        Document document = Jsoup.parse(new File(path), "utf-8");
        Elements name = document.getElementsByTag("name");
        System.out.println(name.size());
    }
}

小结:
Jsoup.parse的参数可以有URL+超时时间,文件+格式,或者直接一整串xml内容,即不用外部xml文件。
其中URL+超时时间 即是爬虫中常用的方式,利用jsoup爬取解析xml/html。

Jsoup的文档要会看,里面定义了一些接口方便操作获取html里面的元素,注意各个对象的继承关系,这个关系在Html DOM下面好像没有这种特别明显的关系

在jsoup下却十分分明,理解起来,document每次都往上获取内容元素,即每个元素都会有Node。
java.lang.Object
org.jsoup.nodes.Node
org.jsoup.nodes.Element
org.jsoup.nodes.Document(类继承关系)

发布了78 篇原创文章 · 获赞 3 · 访问量 6588

猜你喜欢

转载自blog.csdn.net/weixin_38023259/article/details/104271821
今日推荐