JsoupDemo123_Jsoup_三种解析方法(parse)

2023-11-04

Jsoup:工具类

可以解析HTML或者xml文档,返回Document

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

三种解析方式

parse​(File in, String charsetName) :
	解析xml或者html文件的。(JsoupDemo1.)
parse​(String html):
	解析字符串的(JsoupDemo2.)
parse​(URL url, int timeoutMillis):
	通过网络路径来解析html或xml文档对象(JsoupDemo3.)

student.xml

<?xml version="1.0" encoding="UTF-8" ?>
<students>
	<student number="heima_0001">
		<name id="itcast">
			<xing></xing>
			<ming></ming>
		</name>
		<age>100</age>
		<sex>female</sex>
	</student>
	<student number="heima_0002">
		<name>lisi</name>
		<age id="sili">45</age>
		<sex>female</sex>
	</student>
 </students>
1、Jsoup快速入门(解析XML文件)
/**
 * Jsoup快速入门(解析XML文件)
 */
public class JsoupDemo1_StudentXml {
    public static void main(String[] args) throws IOException {
        //2、获取Document对象,根据xml文档来获取
        
        //2.1获取student.xml的path
        String path = JsoupDemo1_StudentXml.class.getClassLoader().
        getResource("student.xml").getPath();
        
        //2.2解析xml文档,加载文档进内存,获取dom树
        Document document = Jsoup.parse(new File(path), "utf-8");
        
        //3.获取元素对象Element
        Elements elements = document.getElementsByTag("name");
        System.out.println(elements.size());
        
        for(Element el:elements){
            System.out.println(el.text());
        }
//        //3.1获取第一个Element对象的name
//        Element element = elements.get(0);
//        //3.2获取数据
//        String name = element.text();
//        System.out.println(name);

    }
}
2、 parse​(String html):解析字符串的
/**
 * parse​(String html):解析字符串的
 */
public class JsoupDemo2_ParseString {
    public static void main(String[] args) throws IOException {
        //parse​(String html):解析字符串的
        String str="<!--?xml version=\"1.0\" encoding=\"UTF-8\" ?-->\n" +
                "<html><head></head><body>\n" +
                "  <students> \n" +
                    "   <student number=\"heima_0001\"> \n" +
                    "    <name>zhangsan</name><age>100</age><sex>female</sex> \n" +
                    "   </student> \n" +
                    "   <student number=\"heima_0002\"> \n" +
                    "    <name>lisi</name><age>45</age><sex>female</sex> \n" +
                    "   </student> \n" +
                "  </students>\n" +
                " </body></html>";
        Document document = Jsoup.parse(str);
        System.out.println(document);
    }
}
3、解析URL parse​(URL url, int timeoutMillis)

通过网络路径来解析html或xml文档对象

/**
 * 3、解析URL parse​(URL url, int timeoutMillis)
 */
public class JsoupDemo3_Jsoup_URL {
    public static void main(String[] args){
        try {
            //代表网络中的一个资源路径
            URL url = new URL("https://blog.csdn.net/weixin_41571334/article/details/84631904");
            //parse​(URL url, int timeoutMillis):通过网络路径来解析html或xml文档对象
            Document document = Jsoup.parse(url,1000000);
            System.out.println(document);
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JsoupDemo123_Jsoup_三种解析方法(parse) 的相关文章

随机推荐

  • QT5.9.8 update()源码剖析

    1 update调用 在QT中 所有的GUI最终都继承自QWidget 因此所的调用update 都是基类QWidget的update 在QWidget中 路径 Qt Qt5 9 8 5 9 8 Src qtbase src widgets
  • 蓝牙mesh组网-JDY-24M初步探索

    操作步骤如下 这款JDY 24M蓝牙功能强大 我主要应用其中mesh组网这个功能 mesh组网简单来说 就是组网的这几个蓝牙是可以互相通信 一一通信是通过蓝牙地址来确定的 一 配置组网 需要用到两根USB转TTL的线 JDY 24M蓝牙2个
  • LaTex目录管理

    LaTex生成章节 图片 表格目录 章节目录 在latex中 每个章节都由特定的关键字命令定义 如 section subsection subsubsection 等 利用这些关键字 我们可以生成文章的章节结构 并根据这些章节的结构和标题
  • 抖音爆火李峋同款爱心代码,简单附带教程,还有烟花代码,手残党也能学会!!

    最近看到抖音爆火的一些HTML代码 有人找 极客G 更新 今天用了几个小时给大家整理出来了下面几个代码 最简单的就是第一个爱心代码 第二个烟花代码可自定义文本 具体看下面 代码是HTML语言 前面是使用教程 只需要代码的请划到下方进行下载
  • Linux基础——运维 (operation)

    1 什么是运维 1 1 技术人员之间 会对运维有个开玩笑的认知 运维就是修电脑的 装网线的其实不然 运维是一个非常广泛的定义 1 2 基础运维 申请域名 购买 租用服务器 上架 调整网络设备的设置 部署操作系统和运行环境 部署代码 设计和部
  • 数学建模——Matlab中rem与mod区别

    求余函数和求模函数有相同的地方但又不完全一致 主要的区别在于对负整数进行除法运算的操作不同 对于整数a b来说 求余运算或求模运算的方法都是先求整数商c a b 再求余数或模r a c b 求余运算在取c的值时 向0方向取整 fix函数 而
  • 985的分数,却毅然选择了普本

    这两天看到一个问题 如果分数只是擦边进985211院校 那是保住985211的学历还是选普通本科大学自己喜欢的专业读 今天来聊一下我的看法 首先针对这个问题说一下我的看法 能够进入985 就不要选择211 能够进入211就不要选择普通一本
  • VirtualBox安装出现严重错误

    H3C是我们学习很好用的软件 H3C虚拟平台的运行需要VirtualBox虚拟机之上 简单来说 要想使用H3C就必须要正确安装VirtualBox 如果有的小伙伴在卸载VirtualBox的时候 卸载方式不得当 导致VirtualBox残余
  • JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法

    JNI调用native方法出现 java lang UnsatisfiedLinkError XXXclass XXXmethod 异常的解决办法 参考文章 1 JNI调用native方法出现 java lang UnsatisfiedLi
  • Servlet——文件上传

    文件上传 文章目录 文件上传 1 Form表单形式实现 1 1 前端 1 2 后端 1 3 实现文件的上传然后保存到本地 2 Js Ajax实现 1 Form表单形式实现 1 1 前端 更改表单提交方式 form enctype multi
  • 功能测试在软件开发周期中的作用是什么?

    功能测试是软件开发周期中不可或缺的一个环节 其作用在于保证软件交付给用户之后满足用户需求和预期 在本文中 我们将详细解析软件开发周期中功能测试的作用 首先 功能测试是软件开发周期中质量保证的重要环节 在开发阶段 开发人员会编写代码 并使用不
  • 技术岗/算法岗面试如何准备?5000字长文、6个角度以2023秋招经历分享面试经验

    技术岗 算法岗面试流程是什么样的 技术面都干什么 Coding 机试如何准备 技术面考察哪些知识 如何准备 项目八股如何准备 简历要注意什么 怎么做 大家好 我是卷了又没卷 薛定谔的卷的大厂算法工程师 陈城南 本文会从以上6个问题 全方位
  • jdbc处理时间问题

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 遇到的问题如下 数据库中对应的字段属性为TIMESTAMP 6 java中类属性对应的字段为java util Date 虽然数据库中保存的是 2014 05 12 10
  • 一文带你精通Burp(附下载)

    添加链接描述 一文带你精通Burp 附下载
  • spring @EventListener 事件与监听

    1 自定义Application Event public class MyEvent extends ApplicationEvent private static final long serialVersionUID 1L priva
  • 1206. 设计跳表

    1206 设计跳表 不使用任何库函数 设计一个 跳表 跳表 是在 O log n 时间内完成增加 删除 搜索操作的数据结构 跳表相比于树堆与红黑树 其功能与性能相当 并且跳表的代码长度相较下更短 其设计思想与链表相似 例如 一个跳表包含 3
  • Dataset - DeepFashion 服装数据集

    Dataset DeepFashion 服装数据集 Dataset DeepFashion Project DeepFashion 对于数据集有学习科研等需求的 请在 AIUAI Dataset DeepFashion 服装数据集 中联系
  • 【最清晰】ThreadLocal和局部变量和成员变量的区别

    ThreadLocal是进程级别的全局变量 最近有一个疑惑 为什么线程类的局部变量不能完全替代ThreadLocal 每一次new 线程都是创建了一个副本啊照理来说也是独立的 为什么还需要ThreadLocal 实际上确实是独立的 但是答案
  • postman token 请求头添加

    思路 1 登录成功后将 得到的token设置为集合变量 2 在需要携带Authorization的请求头上使用该集合变量 关键代码 const responseData pm response json if responseData co
  • JsoupDemo123_Jsoup_三种解析方法(parse)

    文章目录 Jsoup 工具类 1 Jsoup快速入门 解析XML文件 2 parse String html 解析字符串的 3 解析URL parse URL url int timeoutMillis Jsoup 工具类 可以解析HTML