Java实现对Html文本的处理

 1.引入jsoup

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.8.3</version>
</dependency>

2. html示例

示例代码: 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
      <head>      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
         <title>
            个人信用报告
         </title>
         <style media=print>
            .Noprint {            display: none;        }    
         </style>
         <style type="text/css">
            body{            background: #FFFFFF;        }        table {            border-collapse: collapse;            border: 0;            width: 70%;        }        td {            border: #000000 solid 1px;            padding: 4px;            font-size: 13px;            text-align: center;        }        .thead {            background: #FFFFFF;            font-weight: bold;        }        a{            position: relative;            z-index: 1;        }        #side-nav {            position: fixed;            _position: absolute;            top: 10px;            right: 10px;            border: 1px black solid;            width: 14%;            z-index: 1;        }        .nav-style {            border-style: none;            font-size: 13px;            font-weight: bold;            background: #FFFFFF;        }        .report-title {            border-style: none;            font-size: 24px;            font-weight: bold;            text-align: center;        }        .title-style1 {            border-style: none;            font-size: 21px;            font-weight: bold;            text-align: center;        }        .title-style2 {            border-style: none;            font-size: 15px;            font-weight: bold;            text-align: center;        }        .title-style3 {            font-size: 13px;            font-weight: bold;            text-align: center;        }        .td-no-border {            border-style: none;        }        .table-tips {            font-style: italic;            font-size: 10px;            text-align: left;        }        .td-no-report {            border: #FFF solid 0px;            font-size: 22px;            font-weight: bold;        }        .watermark {            position: fixed;            background: no-repeat center;            transform: rotate(-30deg);            filter: alpha(opacity=20);            opacity: .20;        }    
         </style>
</head>
      <body>
         <div id="side-nav" class="Noprint">
            <table align="center">
               <tr>
                  <td class="nav-style" align="center">
                     <a href="#Header">报告头</a>
                  </td>
</tr>
               <tr>
                  <td class="nav-style" align="center">
                     <a href="#PersonalInfo">个人基本信息</a>
                  </td>
</tr>
               <tr>
                  <td class="nav-style" align="center">
                     <a href="#InfoSummary">信息概要</a>
                  </td>
</tr>
               <tr>
                  <td class="nav-style" align="center">
                     <a href="#CreditDetail">信贷交易信息明细</a>
                  </td>
</tr>
               <tr>
                  <td class="nav-style" align="center">
                     <a href="#QueryRecord">查询记录</a>
                  </td>
</tr>
</table>
</div>
         <div align='center' class='watermark' style='top:15%;'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:15%;left:33%'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:15%;left:66%'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:50%;'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:50%;left:33%'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:50%;left:66%'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:85%;'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:85%;left:33%'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div align='center' class='watermark' style='top:85%;left:66%'>
            <font size='5px' color='gray'>
               test99
            </font>
            <br/>
            <font size='5px' color='gray'>
               1
            </font>
            <font size='5px' color='gray'>
               20231030155315
            </font>
</div>
         <div>
            <div class="report-title" style="margin-top: 15px;">
               个人信用报告
            </div>
         <div class="title-style2" style="margin-top: 8px;">
            (授信机构版)
         </div>
</div>
         <div id="Header">
            <table align="center">
               <tr>
                  <td class="td-no-border" style="text-align:left">
                     报告编号:2023100117121647378010
                  </td>
                  <td class="td-no-border" style="text-align:right">
                     报告时间:2023-10-23 17:18:16
                  </td>
</tr>
</table>
            <table align="center">
               <tr class="thead">
                  <td>
                     被查询者姓名
                  </td>
                  <td>
                     被查询者证件类型
                  </td>
                  <td>
                     被查询者证件号码
                  </td>
                  <td>
                     查询机构
                  </td>
                  <td>
                     查询原因
                  </td>
</tr>
               <tr>
                  <td>
                     杨晴晴
                  </td>
                  <td>
                     身份证
                  </td>
                  <td>
                     32082719901102604X
                  </td>
                  <td>
                     1            
                  </td>
                  <td>
                     贷后管理
                  </td>
</tr>
</table>
            <br/>
         </div>
         <div id="PersonalInfo">
            <div class="title-style1">
               一&nbsp;个人基本信息
            </div>
         <br/>
         <div class="title-style2">
            (一)身份信息
         </div>
         <table align="center">
            <tr class="thead">
               <td>
                  性别
               </td>
               <td>
                  出生日期
               </td>
               <td>
                  婚姻状况
               </td>
               <td>
                  学历
               </td>
               <td>
                  学位
               </td>
               <td>
                  就业状况
               </td>
               <td>
                  国籍
               </td>
               <td>
                  电子邮箱
               </td>
</tr>
            <tr>
               <td>
                  男
               </td>
               <td>
                  1980-06-30
               </td>
               <td>
                  --
               </td>
               <td>
                  初中及以下
               </td>
               <td>
                  --
               </td>
               <td>
                  在职
               </td>
               <td>
                  中国
               </td>
               <td>
                  1309867680@qq.com
               </td>
</tr>
            <tr class="thead">
               <td colspan="5">
                  通讯地址
               </td>
               <td colspan="3">
                  户籍地址
               </td>
</tr>
            <tr>
               <td colspan="5">
                  福建省福州市平潭县苏澳镇斗魁村斗魁58号
               </td>
               <td colspan="3">
                  --
               </td>
</tr>
            <tr class="thead">
               <td>
                  编号
               </td>
               <td colspan="4">
                  手机号码
               </td>
               <td colspan="3">
                  信息更新日期
               </td>
</tr>
            <tr>
               <td>
                  1
               </td>
               <td colspan="4">
                  18855583001
               </td>
               <td colspan="3">
                  2019-07-18
               </td>
</tr>
            <tr>
               <td>
                  2
               </td>
               <td colspan="4">
                  18855583002
               </td>
               <td colspan="3">
                  2019-06-25
               </td>
</tr>
            <tr>
               <td>
                  3
               </td>
               <td colspan="4">
                  18855583003
               </td>
               <td colspan="3">
                  2019-04-26
               </td>
</tr>
            <tr>
               <td>
                  4
               </td>
               <td colspan="4">
                  18855583004
               </td>
               <td colspan="3">
                  2019-01-26
               </td>
</tr>
            <tr>
               <td>
                  5
               </td>
               <td colspan="4">
                  15105055999
               </td>
               <td colspan="3">
                  2018-11-14
               </td>
</tr>
            <tr>
               <td>
                  6
               </td>
               <td colspan="4">
                  13023801517
               </td>
               <td colspan="3">
                  2018-09-11
               </td>
</tr>
            <tr>
               <td>
                  7
               </td>
               <td colspan="4">
                  18250182015
               </td>
               <td colspan="3">
                  2017-09-07
               </td>
</tr>
            <tr>
               <td>
                  8
               </td>
               <td colspan="4">
                  015105055999
               </td>
               <td colspan="3">
                  2017-06-29
               </td>
</tr>
</table>
         <br/>
         <div class="title-style2">
            (二)居住信息
         </div>
         <table align="center">
            <tr class="thead">
               <td>
                  编号
               </td>
               <td>
                  居住地址
               </td>
               <td>
                  住宅电话
               </td>
               <td>
                  居住状况
               </td>
               <td>
                  信息更新日期
               </td>
</tr>
            <tr>
               <td>
                  1
               </td>
               <td>
                  地址1
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2019-07-18
               </td>
</tr>
            <tr>
               <td>
                  2
               </td>
               <td>
                  地址2
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2019-06-25
               </td>
</tr>
            <tr>
               <td>
                  3
               </td>
               <td>
                  地址3
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2019-04-26
               </td>
</tr>
            <tr>
               <td>
                  4
               </td>
               <td>
                  地址4
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2019-01-26
               </td>
</tr>
            <tr>
               <td>
                  5
               </td>
               <td>
                  --
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2018-11-14
               </td>
</tr>
            <tr>
               <td>
                  6
               </td>
               <td>
                  福建省福州市平潭县苏澳镇斗魁村斗魁58号
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2018-10-18
               </td>
</tr>
            <tr>
               <td>
                  7
               </td>
               <td>
                  福建省福州市平潭县苏沃镇斗魁村斗魁58号
               </td>
               <td>
                  0591-23106098
               </td>
               <td>
                  其他
               </td>
               <td>
                  2018-06-09
               </td>
</tr>
            <tr>
               <td>
                  8
               </td>
               <td>
                  福州市
               </td>
               <td>
                  --
               </td>
               <td>
                  未知
               </td>
               <td>
                  2018-05-24
               </td>
</tr>
            <tr>
               <td>
                  9
               </td>
               <td>
                  福建省福州市仓山区金山融信西班牙8—102
               </td>
               <td>
                  --
               </td>
               <td>
                  亲属楼宇
               </td>
               <td>
                  2017-09-25
               </td>
</tr>
</table>
         <br/>
         
</div>
         <br/>
         <div align="center" class="Noprint">
            <hr align="center" width="70%" size="1" noshade=""/><input type="button" value="打印信用报告" onclick="javascript:printPage();"/><br/>
         </div>
         <br/><br/><script type="text/javascript">    window.onload=function() {        //禁止复制        document.oncopy = function () {            return false;        };        //禁止粘贴        document.onpaste = function () {            return false;        };        //禁止剪切        document.oncut = function () {            return false;        };        //禁止右键菜单        document.oncontextmenu = function () {            return false;        };        //禁止文本选择        document.onselectstart = function () {            return false;        };    };</script>
      </body>
</html>

3.java代码实现

比如说我们想删掉某一个div  可以根据div的id class等进行操作处理

    public static void main(String[] args) throws IOException {

        String filePath = "/Users/xxxx/Downloads/a.html";

        File file = new File(filePath);

        // 解析HTML文本
        Document document = Jsoup.parse(file, "UTF-8");

        // 选择要移除的div元素(可以根据id、class或其他属性来选择)
        Elements divsToRemove = document.select("div#Header");

        Element table = divsToRemove.select("table").get(1);
        if (table != null) {
            Element rowToDelete = table.select("tr").get(0); // 获取第一行(索引从0开始)
            Element rowToDelete2 = table.select("tr").get(1); // 获取第二行(索引从0开始)

            // 删除表格行
            rowToDelete.remove();
            rowToDelete2.remove();
        }


        Elements divsToRemove2 = document.select("div#PersonalInfo");

        divsToRemove2.remove();


        // 输出更新后的HTML文本
        String updatedHtml = document.outerHtml();
        System.out.println(updatedHtml);
    }

根据class删除代码示例:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class RemoveDivsByClass {
    public static void main(String[] args) {
        // 输入的HTML文本
        String htmlText = "<html><body><div id=\"content\"><div class=\"delete-me\"><p>子元素1</p></div><div class=\"keep-me\"><p>子元素2</p></div><div class=\"delete-me\"><p>子元素3</p></div></div></body></html>";

        // 解析HTML文本
        Document document = Jsoup.parse(htmlText);

        // 查找特定的<div>元素(这里使用id="content"作为示例)
        Element divElement = document.select("div#content").first();

        if (divElement != null) {
            // 查找包含特定class属性值的子<div>元素并删除
            Elements divsToDelete = divElement.select("div.delete-me");
            divsToDelete.remove();
        }

        // 输出更新后的HTML文本
        String updatedHtml = document.outerHtml();
        System.out.println(updatedHtml);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/113375.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 使用 nginx 搭建 https 文件服务器

Ubuntu 使用 nginx 搭建 https 文件服务器 搭建步骤安装 nginx生成证书修改 config重启 nginx 搭建步骤 安装 nginx生成证书修改 config重启 nginx 安装 nginx apt 安装&#xff1a; sudo apt-get install nginx生成证书 使用 openssl 生成证书&#xff1a; 到对应的路径…

第十三章,枚举与泛型例题

例题1 package 例题;interface SeasonInterface{//四季接口int SPRING 1, SUMMER 2, AUTUMN 3, WINTER 4; }enum SeasonEnum{//四季枚举SPRING,SUMMER,AUTUMN,WINTER }public class 例题1 {//定义方法public static void printSeason1(int season){switch (season) {case …

【计算机网络】应用层——HTTPS协议

目录 HTTPS协议加密对称加密非对称加密 数据摘要&#xff08;数据指纹&#xff09;HTTPS安全问题对称加密非对称加密 证书客户端认证查看客户端证书 解决数据安全问题&#xff08;引入证书&#xff09; HTTPS协议 HTTP 协议内容都是按照⽂本的⽅式明⽂传输的. 这就导致在传输过…

使用shardingJDBC中的雪花算法生成id

常用ID解决方案 数据库自增id 依靠数据库系统的功能实现&#xff0c;但是未来扩容麻烦主从切换时的不⼀致可能会导致重复发号性能瓶颈存在单台sql上 UUID 性能非常高&#xff0c;没有网络消耗无序的字符串&#xff0c;不具备趋势自增特性UUID太长&#xff0c;不易于存储&am…

Ubuntu系统HUSTOJ 用 vim 修改php.ini 重启PHP服务

cd / sudo find -name php.ini 输出&#xff1a; ./etc/php/7.4/cli/php.ini ./etc/php/7.4/fpm/php.ini sudo vim /etc/php/7.4/cli/php.ini sudo vim /etc/php/7.4/fpm/php.ini 知识准备&#xff1a; vim的搜索与替换 在正常模式下键入 / &#xff0c;即可进入搜索模式…

7个UI设计必备课程,小白必看!

无论你是想提高技能的资深UI设计师还是网站开发人员&#xff0c;又或者是刚转行不久的UI设计新手&#xff0c;学习UI设计课程都会让你做出更美观、更有影响力的UI界面设计作品。现在网上有很多网上的UI设计课程。通过这些课程&#xff0c;你可以自己学习、掌握一些UI设计的基础…

PC端视频编辑处理的全方位解决方案

视频已经成为企业传播信息、展示品牌形象的重要工具。然而&#xff0c;制作高质量的视频并非易事&#xff0c;需要专业的技术和设备。这就是美摄科技发挥作用的地方。我们为企业提供一站式的PC端视频编辑处理解决方案&#xff0c;帮助企业轻松制作出专业级别的视频。 美摄科技…

最新版一媒体7.3、星媒体、皮皮剪辑,视频MD ,安卓手机剪辑去重神器+搬运脚本+去视频重软件工具

最新版一媒体app安卓版介绍&#xff1a; 这是一款功能强大的视频搬运工具&#xff0c;内置海量视频编辑工具&#xff0c;支持一键智能化处理、混剪、搬运、还能快速解析和去水印等等&#xff0c;超多实用功能等着您来体验&#xff01; 老牌手机剪辑去重神器&#xff0c;用过的…

2103. 环和杆

2103. 环和杆 难度: 简单 来源: 每日一题 2023.11.02 总计有 n 个环&#xff0c;环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings &#xff0c;表示这 n 个环在杆上的分布。rings 中每两个字符形成一个…

sass相关

1、代码简化 1.1、简化媒介查询 mixin flex{display: flex;justify-content: center;align-items: center; } .header{width: 100%;include flex;//可以这样引用 }//加入参数 mixin flex($layout){display: flex;justify-content: $layout;align-items: $layout; } .header{w…

Android开发知识学习——Kotlin进阶

文章目录 次级构造主构造器init 代码块构造属性data class相等性解构Elvis 操作符when 操作符operatorLambda循环infix 函数嵌套函数注解使用处目标函数简化函数参数默认值扩展函数类型内联函数部分禁用用内联具体化的类型参数抽象属性委托属性委托类委托 Kotlin 标准函数课后题…

Springboot项目Eureka安全加密

一、通过security增加账号密码登录 1、registry服务pom增加security依赖 2、registry 配置文件 指定security账号密码 3、http://账号:密码IP:PORT/eureka/ 4、重启 二、关闭节点 三、防火墙移除eureka端口访问 参考&#xff1a;Linux(Centos7)操作记录

C#编程中字符串公式的计算

在一个程序开发当中&#xff0c;有很多涉及到公式的定义与计算&#xff0c;在用户给定的文档中&#xff0c;公式采用字符串形式定义&#xff0c;包含了一些变量名和各种运算符号&#xff0c;程序需要先进行字符变量的值替换后再进行计算&#xff0c;取得结果后再进行后续的操作…

【计算系统】5分钟了解超算,高性能计算,并行计算,分布式计算,网格计算,集群计算以及云计算的区别

5分钟了解超算&#xff0c;高性能计算&#xff0c;并行计算&#xff0c;分布式计算&#xff0c;网格计算&#xff0c;集群计算以及云计算的区别 1. 超算2. 高性能计算3. 并行计算4. 分布式计算5. 网格计算6. 集群计算7. 云计算小结相关资料 1. 超算 超级计算机&#xff08;Sup…

文具办公用品展示预约小程序的作用是什么

文具办公用品的应用度非常高&#xff0c;市场众多企业&#xff0c;虽然目前不少已经实现电子化办公&#xff0c;但如铅笔、橡皮、色板、文件袋等依然有消费性&#xff0c;同时这些产品一般适用于批量采购&#xff0c;但在实际经营中&#xff0c;线上冲击和各商家竞争激烈&#…

基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别 计算机竞赛

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

【LVS实战】02 搭建一个LVS-NAT模式实验

一、网络结构 用虚拟机搭建如下的几台机器&#xff0c;并配置如下的ip 关于虚拟机网卡和网络的配置&#xff0c;可以参考 iptables章节&#xff0c;05节&#xff1a;网络转发实验 主机A模拟外网的机器 B为负载均衡的机器 C和D为 RealServer 二、C和D主机的网关设置 C和D机…

Linux -------------------设置防火墙和SELinux

&#xff08;一&#xff09;防火墙概述 防火墙的概念&#xff1a;防火墙是一种非常重要的网络安全工具&#xff0c;它是网络安全的重要组成部分&#xff0c;用于保护计算机网络免受未经授权的访问、恶意攻击和数据泄漏等威胁等。 防火墙的特点 防火墙通常具备以下几个特点。 …

吊椅的魔力:花园中的心灵放松

在忙碌的现代生活中&#xff0c;我们经常需要一些时间来重拾内心的宁静。花园吊椅可能是你需要的答案。这个看似简单的户外家具&#xff0c;实际上承载着解锁自然疗愈力量的潜力&#xff0c;有助于恢复身心的平静。 花园吊椅为我们提供了重返自然的机会。坐在吊椅上&#xff0…

新手必看的Facebook广告投放基础思路

一、广告账号要求 如果您还没有Facebook账号&#xff0c;那么第一步是准备Facebook账号。 1、配置正确的网络环境 Facebook账号需要在稳定安全的网络环境中运行&#xff0c;否则很容易导致封禁。像我们常用的是Maskfog指纹浏览器&#xff0c;可以通过自定义浏览器指纹与为环…
最新文章