
引入
以前当我们想获取<student> -> <name>  ->   <xing> -> "张"
时,我们需要先依次获取对应的标签。在获取内容
   我们希望有一种快捷的方式,一下子就能定位到这里。
   因此就有了快捷查询方式。
快捷查询方式
selector
选择器查询
  使用方法:Elements select(String cssQuery) 
selector语法
 参考selector中定义的语法
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 
 | package com.xml.jsoup;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 import org.jsoup.select.Elements;
 
 import java.io.File;
 
 
 
 
 
 
 public class JsoupDemo5 {
 public static void main(String[] args) throws Exception {
 
 String path = JsoupDemo2.class.getResource("student.xml").getPath();
 
 Document document = Jsoup.parse(new File(path), "utf-8");
 
 Elements elements = document.select("name");
 System.out.println(elements);
 System.out.println("---------------");
 
 Elements elements1 = document.select("#id01");
 System.out.println(elements1);
 System.out.println("---------------");
 
 
 Elements elements2 = document.select("student[number='xml_0001']");
 System.out.println(elements2);
 System.out.println("---------------");
 
 Elements elements3 = document.select("student[number='xml_0001']>age");
 System.out.println(elements3);
 
 
 }
 }
 
 | 
XPath
 w3c定义的一种语法
 XPath即为XML路径语言(XML Path Language),
 它是一种用来确定XML文档中某部分位置的语言。
XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。
起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。
但是XPath很快的被开发者采用来当作小型查询语言。
使用Jsoup的XPath需要导入额外的jar包
JsoupXpath-0.3.2.jar
参考w3c的XPath语法文档来使用
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 
 | package com.xml.jsoup;
 import cn.wanghaomiao.xpath.model.JXDocument;
 import cn.wanghaomiao.xpath.model.JXNode;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import java.io.File;
 import java.util.List;
 
 
 
 
 
 
 public class JsoupDemo6 {
 public static void main(String[] args) throws Exception {
 
 String path = JsoupDemo2.class.getResource("student.xml").getPath();
 
 
 Document document = Jsoup.parse(new File(path), "utf-8");
 
 JXDocument jxDocument = new JXDocument(document);
 
 
 List<JXNode> jxNodes = jxDocument.selN("//student");
 for (JXNode jxNode:jxNodes){
 System.out.println(jxNode);
 }
 System.out.println("===================");
 
 List<JXNode> jxNodes2 = jxDocument.selN("//student/name");
 for (JXNode jxNode:jxNodes2){
 System.out.println(jxNode);
 }
 System.out.println("===================");
 
 
 List<JXNode> jxNodes3 = jxDocument.selN("//student/name[@id]");
 for (JXNode jxNode:jxNodes3){
 System.out.println(jxNode);
 }
 System.out.println("===================");
 
 List<JXNode> jxNodes4 = jxDocument.selN("//student/name[@id='id01']");
 for (JXNode jxNode:jxNodes4){
 System.out.println(jxNode);
 }
 System.out.println("===================");
 
 }
 }
 
 |