jsoup中对象的使用(Jsoup、Document、Elements、Element 、Node )

(使用Jsoup时一定要先前导如jar包)

一、 jsoup中几种常用的对象

  • 1、Jsoup对象:可以解析html或xml文档

  • 2、 Document :文档对象。代表内存中的dom树

  • 3、Elements :元素Element对象的集合。(可以当做Arraylist来使用)

  • 4、 Element :元素对象

  • 5、 Node:节点对象

二、 jsoup中jsoup对象的使用

Jsoup:工具类,可以解析html或xml文档, 返回Document(Jsoup解析常用的方法)

parse :解析html或xml文档,返回Document

  • 1、parse(File in, string charsetName) : 解析xml或html文件的。

  • 2、parse(String html) : 解析xml或html字符串
  • 3、 parse(URL url, int timeoutMillis) :通过网络路径获取指定的html或xml的文档对象
public class JsoupTest {
    public static void main(String[] args) throws IOException {
        //1. 获取Document对象,根据xml文档获取
        //2. 获取user.xml的path
        String path = Objects.requireNonNull(JsoupTest.class.getClassLoader().getResource("User.xml")).getPath();
        //3. 解析xml文档,加载文档进内存,获取dom树----->Document
        
        //(1)parse(File in, string charsetName)
//        Document document = Jsoup.parse(new File(path),"UTF-8");

		//(2)parse(URL url, int timeoutMillis) 
//        URL url = new URL("https://blog.csdn.net/lsy_666");
//        Document document = Jsoup.parse(url, 100000);

		//(3)parse(String html) 
        String text = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
                "<users>\n" +
                "    <user number=\"user01\">\n" +
                "        <name>lsy</name>\n" +
                "        <age>20</age>\n" +
                "        <sex>w</sex>\n" +
                "        <phone>123654987</phone>\n" +
                "    </user>\n" +
                "    <user number=\"user02\">\n" +
                "        <name>tao</name>\n" +
                "        <age>20</age>\n" +
                "        <sex>m</sex>\n" +
                "        <phone>125469873</phone>\n" +
                "    </user>\n" +
                "</users>";
        Document document = Jsoup.parse(text);
        System.out.println(document);

    }

}

<?xml version="1.0" encoding="UTF-8" ?>
<users>
    <user number="user01">
        <name>lsy</name>
        <age>20</age>
        <sex>w</sex>
        <phone>123654987</phone>
    </user>
    <user number="user02">
        <name>tao</name>
        <age>20</age>
        <sex>m</sex>
        <phone>125469873</phone>
    </user>
</users>

三、 jsoup中Document 对象的使用

Document :文档对象,代表内存中的dom树

作用获取Element对象
  • getElementById(String id) :根据id属性值获取唯一的element对象
  • getElementsByTag(String tagName) :根据标签名称获取元素对象集合
  • getElementsByAttribute(String key) :根据属性名称获取元素对象集合
  • getElementsByAttributevalue(string key, string value) :根据对应的属性名和属性值获取元素对象集合
示范案例:
public class JsoupDocument {
    public static void main(String[] args) throws IOException {
        //1. 获取Document对象,根据xml文档获取
        //2. 获取user.xml的path
        String path = JsoupDocument.class.getClassLoader().getResource("User.xml").getPath();
        //3. 解析xml文档,加载文档进内存,获取dom树----->Document
        Document document = Jsoup.parse(new File(path),"UTF-8");

        //获取所有user对象
        Elements elements = document.getElementsByTag("user");
        System.out.println(elements);
        System.out.println("-----------------");
        //获取属性名为id的元素对象们
        Elements elements1 = document.getElementsByAttribute("id");
        System.out.println(elements1);
        System.out.println("-----------------");
        //获取number值为user01的元素对象
        Elements elements2 = document.getElementsByAttributeValue("number", "user01");
        System.out.println(elements2);
        System.out.println("-----------------");
        //获取id值为1的元素对象
        Element element = document.getElementById("1");
        System.out.println(element);
    }

}

四、 jsoup中Elements 对象的使用

元素Element对象的集合。可以当做ArrayList来使用

五、 jsoup中Element 对象的使用

1.获取子元素对象
  • getElementById(String id) :根据id属性值获取唯一的element对象
  • getElementsByTag(String tagName) :根据标签名称获取元秦对象集合
  • getElementsByAttribute(String key) :根据属性名称获取元素对象集合
  • getElementsByAttributeValue(String key, String value) :根据对应的属性名和属性值获取元素对象集合
2.获取属性值
  • string attr(string key) :根据属性名称获取属性值3.获取文本内容
  • String text(): 获取文本内容
  • String html(): 获取标签体的所有内容(包括字标签的字符串内容)

六、 jsoup中Node对象的使用

是Document和Element的父类

PS:由于使用的方法都差不多,所以有些例子就没有列举出来。大家可以解压一下分享的文档。查看Jsoup的API进行更深入的学习。

发布了62 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/lsy_666/article/details/104398089