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

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


运行环境

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. MySQL提升笔记(4)InnoDB存储结构

    这一节本来计划开始索引的学习,但是在InnoDB存储引擎的索引里,存在一些数据存储结构的概念,这一节先了解一下InnodDB的逻辑存储结构,为索引的学习打好基础. 从InnoDB存储引擎的存储结构看, ...

  2. linux-shell 识别当前所使用的shell

    echo $SHELL 或者 echo $0

  3. Day17_100_IO_FileWriter文件字符输入流

    FileWriter文件字符输入流 继承结构 Java.lang.Object - java.io.Writer; 抽象类 java.io.OutputStreamWriter; <转换流: 将 ...

  4. 织梦seo

    建站-->采集文章-->sitemap-->robots->百度提交链接(主推和自动结合)-->后续优化 http://jingyan.baidu.com/article ...

  5. javascript取url的参数的方法

    <script type="text/javascript"> function request(paras) { var url = location.href; v ...

  6. xposed结合Zygote分析

    android中zygote相信大家都很熟悉,它执行的函数是app_main.cpp,而xposed主要实现的就是替换app_main.cpp.所以在分析xposed时有必要来认识下zygote.好了 ...

  7. POJ2391 Floyd+离散化+二分+DINIC

    题意:       有n个猪圈,每个猪圈里面都有一定数量的猪(可能大于当前猪圈的数量),每个猪圈都有自己的容量,猪圈与猪圈之间给出了距离,然后突然下雨了,问多久之后所有的猪都能进圈. 思路:     ...

  8. Win10 ntoskrnl.exe蓝屏解决

    主机一直用的是无线网卡,装Win10下载驱动.不管是Window10自己更新,还是通过驱动人生.驱动精灵等安装的Killer网卡驱动,均日常导致蓝屏. 状态是这样的:玩游戏蓝屏.检测系统蓝屏.清垃圾蓝 ...

  9. ERROR: Symbol file could not be found 寒江孤钓<<windows 内核安全编程>> 学习笔记

    手动下载了Symbols,设置好了Symbols File Path,串口连接上了以后,出现ERROR: Symbol file could not be found, 并且会一直不停的出现windb ...

  10. FreeSql之Expression表达式拼接参数扩展

    在FreeSql源码中Expression表达式拼接默认最多支持到5个泛型参数,当我们使用表关联比较多的时候,就需要进行扩展. 新建一个类,将命名空间改为System.Linq.Expressions ...