首页 > 其他分享 >xml_解析_Jsoup_根据选择器查询与xml_解析_Jsoup_根据Xpath查询

xml_解析_Jsoup_根据选择器查询与xml_解析_Jsoup_根据Xpath查询

时间:2022-12-02 17:33:49浏览次数:36  
标签:xml System 查询 Jsoup student println 解析 out

xml_解析_Jsoup_根据选择器查询

   快捷查询方式:

      1. selector:选择器
         使用的方法:Elements select​(String cssQuery)
           语法:参考Selector类中定义的语法

package ch.xueqiang.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;
import java.io.IOException;

/**
 *选择器查询
 */
public class JsoupDemo5 {
    public static void main(String[] args) throws IOException {
        //1.获取student.xml的path
        String path = JsoupDemo5.class.getClassLoader().getResource("student.xml").getPath();
        //2.获取Document对象
        Document document = Jsoup.parse(new File(path), "utf-8");

        //3.查询name标签
        /*
            div{

            }
         */
        Elements elements = document.select("name");
        System.out.println(elements);
        System.out.println("=----------------");
        //4.查询id值为itcast的元素
        Elements elements1 = document.select("#itcast");
        System.out.println(elements1);
        System.out.println("----------------");
        //5.获取student标签并且number属性值为heima_0001的age子标签
        //5.1.获取student标签并且number属性值为heima_0001
        Elements elements2 = document.select("student[number=\"heima_0001\"]");
        System.out.println(elements2);
        System.out.println("----------------");

        //5.2获取student标签并且number属性值为heima_0001的age子标签
        Elements elements3 = document.select("student[number=\"heima_0001\"] > age");
        System.out.println(elements3);

    }

}

 

 

xml_解析_Jsoup_根据Xpath查询

2. XPath:XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言
      使用Jsoup的Xpath需要额外导入jar包。
           查询w3cshool参考手册,使用xpath的语法完成查询
            代码:

    

//1.获取student.xml的path
                    String path = JsoupDemo6.class.getClassLoader().getResource("student.xml").getPath();
                    //2.获取Document对象
                    Document document = Jsoup.parse(new File(path), "utf-8");
            
                    //3.根据document对象,创建JXDocument对象
                    JXDocument jxDocument = new JXDocument(document);
            
                    //4.结合xpath语法查询
                    //4.1查询所有student标签
                    List<JXNode> jxNodes = jxDocument.selN("//student");
                    for (JXNode jxNode : jxNodes) {
                        System.out.println(jxNode);
                    }
            
                    System.out.println("--------------------");
            
                    //4.2查询所有student标签下的name标签
                    List<JXNode> jxNodes2 = jxDocument.selN("//student/name");
                    for (JXNode jxNode : jxNodes2) {
                        System.out.println(jxNode);
                    }
            
                    System.out.println("--------------------");
            
                    //4.3查询student标签下带有id属性的name标签
                    List<JXNode> jxNodes3 = jxDocument.selN("//student/name[@id]");
                    for (JXNode jxNode : jxNodes3) {
                        System.out.println(jxNode);
                    }
                    System.out.println("--------------------");
                    //4.4查询student标签下带有id属性的name标签 并且id属性值为itcast
            
                    List<JXNode> jxNodes4 = jxDocument.selN("//student/name[@id='itcast']");
                    for (JXNode jxNode : jxNodes4) {
                        System.out.println(jxNode);
                    }

 

标签:xml,System,查询,Jsoup,student,println,解析,out
From: https://www.cnblogs.com/x3449/p/16945136.html

相关文章

  • 使用JDOM2.0.6 操作/解析xml
    学习Spring第一天,了解jdom是如何解析xml文件的首先下载jdom的jar包,这里的实例使用的是JDOM2.0.6,与JDOM1.0.不同的是引入的包是有区别的,JDOM2.0.6的jar包使用时导入的是im......
  • Eclipse中建立struts2的配置文件struts.xml
    Eclipse中建立struts2的配置文件struts.xml的步骤:1、解压最新的struts2包文件,我用的是:struts-2.5.16-all.zip(上Struts的官网下载),然后找到struts-2.5.dtd所在路径并复制......
  • IOC容器-Bean管理XML方式、集合的注入
    1、IOC操作Bean管理(xml注入集合属性)1、注入数组类型属性2、注入list集合类型属性3、注入map集合类型属性4、注入set集合类型属性类型方式数组<array><val......
  • Redis中的单线程多路复用的一个通俗解析
    在尚学堂的课程中,有个不错的单线程多路复用的通俗解析,觉得不错:其实就是黄牛买票,黄牛是单线程了,但他能服务很多买票的人,买票的人也不需要去等待的 ......
  • 车载测试系列:DBC文件格式解析
    DBC文件:CAN报文的数据库。用来描述CAN网络节点间数据通讯的文件,包含了CAN总线协议中协议数据及其所代表的具体意义。可以用来监测与分析CAN网络上的报文数据,也可以用来模......
  • EBS: Oracle XML Publisher 表清单
    --OracleXMLPublisher表清单SELECT*FROMXDO.XDO_CONCURRENT_REQUESTS_GTSELECT*FROMXDO.XDO_CONFIG_KEYS--KEY:PROPERTY_CODE--配置属性SELECT*FR......
  • Windows命令行command的Shell命令详细解析和语法
    CMD命令大全及详细解释和语法CMD命令大全及详细解释和语法MicrosoftWindowsXP[版本5.1.2600]有关某个命令的详细信息,请键入HELP命令名ASSOC   显示或修改文......
  • xml_组成部分和xml_约束概述
    xml_组成部分:组成部分:1.文档声明格式:<?xml属性列表"?>属性列表version:版本号必须属性encoding:编码方式,告知解析引擎当前文档使......
  • xml_约束_dtd和xml_约束_schema
    xml_约束_dtd:DTD:一种简单的约束技术引入dtd文档到xml文档中内部dtd:将约束规则定义在xml文档中外部dtd:将约束的规则定义在外部的dtd文件中分......
  • SpringCloud(八) - 自定义token令牌,鉴权(注解+拦截器),参数解析(注解+解析器)
    1、项目结构介绍项目有使用到,redis和swagger,不在具体介绍;2、手动鉴权和用户信息参数获取(繁杂,冗余)2.1用户实体类/***CreatedOn:4/11/2022.*<p>*Author......