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

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


运行环境

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方法可作用于Document、Elements或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. Ambassador-07-熔断

    Ambassador的熔断机制的定义 circuit_breakers: - priority: <string> max_connections: <integer> max ...

  2. 【Azure Developer】使用Java代码启动Azure VM(虚拟机)

    问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

    Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的 目录:一.通过Dapr实现一个简单的基于.net的微服务电商系 ...

  4. 域迁移DA | Learning From Synthetic Data: Addressing Domain Shift for Se | CVPR2018

    文章转自:微信公众号「机器学习炼丹术」 作者:炼丹兄(已授权) 联系方式:微信cyx645016617 论文名称:"Learning From Synthetic Data: Address ...

  5. 【Navicat】获取表结构的DDL语句以及获取更新表字段的操作的DDL

    1.获取表结构的DDL语句 2.获取修改表结构某一字段的DDL语句  设计表-修改表字段(记住不要保存)-SQL预览

  6. Windows中动态磁盘管理

    目录 动态磁盘 基本磁盘和动态磁盘的转换 简单卷 跨区卷 带区卷 镜像卷 RAID-5卷 相关文章:硬盘分区形式(MBR.GPT).系统引导.文件系统.Inode和Block 动态磁盘 Windows ...

  7. Sqlmap的使用详解

    目录 Sqlmap Sqlmap的简单用法 探测指定URL是否存在SQL注入漏洞 查看数据库的所有用户 查看数据库所有用户名的密码 查看数据库当前用户 判断当前用户是否有管理权限 列出数据库管理员角色 ...

  8. 预防NSA勒索病毒攻击脚本

    预防445端口勒索病毒修复脚本 直接复制下去,创建一个文件,名字随意后缀是.bat,然后双击就可以了(如果提示拒绝访问,就直接右键管理员,尤其是Win8 Win10). :+添加关键注册表以及停掉并且 ...

  9. 标签页切换title改变

    js实现如下 并将代码加入博客侧边栏就成了 <script> document.addEventListener("visibilitychange", functio ...

  10. 解决移动端300ms延迟fastclick

    为什么要使用fastclick 移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击.为了能够立即响应用户的点击事件,才有了fastclick. f ...