“自己”这个东西是看不见的,撞上一些别的什么,反弹回来,才会了解“自己”。

所以,跟很强的东西、可怕的东西、水准很高的东西相碰撞,然后才知道“自己”是什么,这才是自我 。


运行环境

JDK8 + IntelliJ IDEA 2018.3 

利用方法

Element.select(String selector)Elements.select(String selector)

jar包文件

https://files.cnblogs.com/files/papercy/jsoup_jar%E5%8C%85.rar

描述

Jsoup的元素支持类似CSS或(jquery)的选择器语法的查找匹配的元素,可实现功能强大且鲁棒性好的查询。

Select方法可作用于DocumentElements或Element,且是上下文相关的,因此可实现指定元素的过滤,或者链式选择访问。

以下共介绍使用十种方法获取 xml元素

XML代码

<?xml version="1.0" encoding="UTF-8"?>
<students>
<student id="1">
<name>feifeiye</name>
<age>19</age>
<sex>nv</sex>
</student>
<student id="2" class="two">
<name>papercy</name>
<age id="3" text-color="red" >19</age>
<sex>nan</sex>
</student>
</students>

JAVA代码实现


public static void main(String[] args) {

        /*获取document文档,反射path*/

        String path=JsoupDemo1.class.getClassLoader().getResource("Students.xml").getPath();

        try {
Document document = Jsoup.parse(new File(path),"utf-8"); /*获取elements/element*/ Elements element=document.getAllElements(); System.out.println("element:"+element);
} catch (IOException e) {
e.printStackTrace();
}
}

选择器使用

  • 使用 * 选择器

        Elements elements = document.select("*");


    System.out.println("element * 号选择器:"+elements);
  • 使用class 选择器

    

 Elements elements1 = document.select(".two");
System.out.println("element class 选择器:"+elements1);
  • 使用ID 选择器
 Elements element1 =  document.select("#1");
System.out.println("element1 id 选择器:"+element1);
  • 使用 Tag 选择器
Elements elements2 = document.select("name");
System.out.println("eleemnts2 tag 选择器:"+elements2);
  • 使用 [attribute]: 利用属性
 Elements elements3 =  document.select("[text-color]");

 System.out.println("elements3 [attribute] 选择器:"+elements3);
  • 使用 [^attr=value]  : 利用属性值
 Elements elements4 = document.select("[text-color=red]");

 System.out.println("elements4 [^attr=value]  选择器:"+elements4);

  • 使用 parent > child : 查找某个父元素下的直接子元素
 Elements elements5 = document.select("student>sex");

System.out.println("element5 parent > child 选择器 :"+elements5);
  • 使用 ancestor child : (查找某个元素下子元素)
  • Elements element2 = document.select("students name"); System.out.println("element2 ancestor child 选择器:"+element2);
  • 使用 containsOwn(text):查找直接包含给定文本的元素
 Elements element3 = document.select("name:contains(feifeiye)");

 System.out.println("element3 containsOwn(text)选择器:"+element3);
  • 使用 eq(n): 查找哪些元素的同级索引值与n相等
 Elements elements6 = document.select("student age:eq(1)");

  System.out.println("elements6 eq(n)选择器:"+elements6);

心得

希望本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便成了路。

很多东西,只有花时间去做了,才能有个成功与否,站着看的永远比走的慢。或许看上去很厉害,很难的东西,你去实践的时候会发现没有想象中的难。

会不会是取决你做了没做,而不是想了没想。


 

jsoup select 选择器(Day_02)的更多相关文章

  1. jsoup select 选择器

    转载自:http://blog.csdn.net/zhejingyuan/article/details/11801027 方法 利用方法:Element.select(String selector ...

  2. (三)Jsoup 使用选择器语法查找 DOM 元素

    第一节: Jsoup 使用选择器语法查找 DOM 元素 Jsoup使用选择器语法查找DOM元素 我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的, 很多时候我们需要 ...

  3. Jsoup进阶选择器

    package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...

  4. org.jsoup.select.Selector

    org.jsoup.select.Selector CSS-like element selector, that finds elements matching a query. Selector ...

  5. elementUI 学习入门之 Select 选择器

    Select 选择器 基础用法 <el-select v-model="val1" placeholder="请输入"> <el-option ...

  6. Jsoup 标签选择器 选择img标签中src的值

    package com.enation.newtest; import java.io.BufferedReader; import java.io.File; import java.io.File ...

  7. element UI中的select选择器的change方法需要传递多个值

    如果直接调用change事件,不传任何参数,则可以获取到当前选中的值(因为默认会将event参数传递过去) 场景: 你需要将select选择器 ”选中的当前元素“ 和 ”其他你需要的值“ 一起传递过去 ...

  8. Select 选择器

    Select 选择器 当选项过多时,使用下拉菜单展示并选择内容. 基础用法 适用广泛的基础单选 v-model的值为当前被选中的el-option的 value 属性值 <template> ...

  9. css子选择器 :frist-child :nth-child(n) :nth-of-type(n) ::select选择器

    记录一下前一段时间使用.学习的几种选择器. 1. :frist-child 选择器n 比如<ul><li></li> <li></li> & ...

随机推荐

  1. 2021 DevOpsDays 东京站完美收官 | CODING 专家受邀分享最新技术资讯

    DevOpsDays 是一个全球知名的系列技术会议品牌,内容涵盖了软件开发.自动化.测试.安全.组织文化以及 IT 运营的社区会议等.DevOpsDays 由 DevOps 之父 Patrick De ...

  2. SpringCloud(五)GateWay网关

    Config 分布式配置中心 概述 微服务意味着要将单体应用中的业务拆分成个个子服务,每个服务的粒度相对较小因此系统中会出现大量的服务 由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动态 ...

  3. git 配置ssh

    git 配置ssh 生成一个个人账号/邮箱的sshkey ssh-keygen -t rsa -C "youremail@yourcompany.com" -f ~/.ssh/XX ...

  4. 【Scrapy(一)】 Scrapy爬虫的基础执行流程

    安装scrapy模块 : pip install scrapy  创建scrapy项目 1.scrapy startprojecty 项目名称  注意:如果创建失败,可以先卸载原有的scrapy模块, ...

  5. 让访问pc端的官网直接跳转到移动端的网站代码

    <SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navig ...

  6. 逆向工程第004篇:跨越CM4验证机制的鸿沟(中)

    一.前言 在上一篇文章的最后,我已经找出了关键的CALL语句,那么这篇文章我就带领大家来一步一步地分析这个CALL.我会将我的思路完整地展现给大家,因此分析过程可能略显冗长,我会分为两篇文章进行讨论. ...

  7. 【Redis】redis异步消息队列+Spring自定义注解+AOP方式实现系统日志持久化

    说明: SSM项目中的每一个请求都需要进行日志记录操作.一般操作做的思路是:使用springAOP思想,对指定的方法进行拦截.拼装日志信息实体,然后持久化到数据库中.可是仔细想一下会发现:每次的客户端 ...

  8. idea插件手动安装

    更多精彩: 例如安装Grep Console 插件  把刚才解压的文件放到  plugins   重启idea   自定义设计

  9. php 实现图片下载,文件下载

    1.控制器public function downPic(){ $filename = input('file','','string'); //文件所在路径 // 检查文件是否存在 if (! fi ...

  10. 三、jmeter常用的元件及组件

    一.HTTP cookie Manager 用来储浏览器产生的用户信息,Stepping Thread Group 可用于模拟阶梯加压! 二.HTTP Cache Manager 缓存管理器(模拟浏览 ...