Jsoup对象学习笔记2

本文介绍了如何使用Jsoup解析XML和HTML,包括从本地文件、字符串和网络资源中获取数据,并形成DOM树。重点讲解了Document对象的常用方法和Element对象的操作。
摘要由CSDN通过智能技术生成

目录

1.利用Jsoup解析 XML 或HTML 形成DOM树对象

1.解析本地XML文件

2.直接解析字符串

3.解析网络资源

2.关于Document:xml的dom树对象的常用方法

3.Element:元素对象的常用方法


1.利用Jsoup解析 XML 或HTML 形成DOM树对象

常用方法
static Document parse(File in, String charsetName)
解析本地文件
static Document parse(String html)
解析 html 或 xml 字符串
static Document parse(URL url, int timeoutMillis)
解析网页源文件

1.解析本地XML文件

// 解析本地XML
                //通过类加载器获得XML的绝对路径
        String path = demo2.class.getClassLoader().getResource("XML/xsd/student.xml").getPath();
        Document document1 = Jsoup.parse(new File(path), "utf-8");

2.直接解析字符串

// 解析字符串
        /* 这个没什么好说的,直接把要解析的XML文件内容
        复制过来到Jsoup.parse() 就行了 */

3.解析网络资源

// 解析网络资源
        Document document2 = Jsoup.parse(new URL("http://www.baidu.com"), 5000);
        System.out.println(document2);

其中 Jsoup.parse()的参数是

第一个参数URL url:要解析的网址

第二个参数 timeoutMillis:最大时长限制 单位是毫秒 比如设 5000 ,那么如果 5秒后还没有完成解析,系统会认为目前网络不太通畅,停止解析并且抛出错误


2.关于Document:xml的dom树对象的常用方法

是常用方法
Element getElementById(String id)
根据 id 获取元素
Elements getElementsByTag(String tagName)根据标签名获取元素
Elements getElementsByAttribute(String key)根据属性获取元素
Elements getElementsByAttributeValue(String key,String value)
根据属性名
=属性值获取元素
Elements select(Sting cssQuery)
        
根据选择器选取元素
//先把需要解析的XML文件变成DOM树对象
        String path = demo2.class.getClassLoader().getResource("XML/jsoup/student.xml").getPath();
        Document document = Jsoup.parse(new File(path), "utf-8");
        // 根据id获取元素
        Element element = document.getElementById("a1");
        System.out.println(element);
        System.out.println("=============");
        // 根据标签名获取元素
        Elements element1 = document.getElementsByTag("age");
        System.out.println(element1);
        System.out.println("=============");
        // 根据属性获取元素
        Elements element2 = document.getElementsByAttribute("number");
        System.out.println(element2);
        System.out.println("=============");
        // 根据属性名=属性值获取元素
        Elements element3 = document.getElementsByAttributeValue("number","001");
        System.out.println(element3);
        System.out.println("=============");
        // 最好用的:根据选择选择元素 CSS的
        Elements element4 = document.select("#a1");// 根据ID
        Elements element5 = document.select(".age1");//根据类

3.Element:元素对象的常用方法

常用方法
String text()
获取元素包含的纯文本
String html()
获取元素包含的带标签的文本
String attr(String attributeKey)
获取属性key对应的值value
//先把需要解析的XML文件变成DOM树对象
        String path = demo2.class.getClassLoader().getResource("XML/jsoup/student.xml").getPath();
        Document document = Jsoup.parse(new File(path), "utf-8");
        Elements elements = document.getElementsByAttributeValue("number", "001");
        //获取元素包含的纯文本
        System.out.println(elements.text());
        System.out.println("=============");
        //获取元素包含的带标签的文本
        System.out.println(elements.html());
        System.out.println("=============");
        //获取属性对应的属性值
        System.out.println(elements.attr("number"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值