您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
14_xml_解析_Jsoup_根据选择器查询(css选择器应用在xml解析中)
发布时间:2022-07-30 21:35:46编辑:雪饮阅读()
首先待解析的xml仍旧如:
test5.xml:
<?xml version="1.0" encoding="utf-8" ?>
<users>
<user number="kasumi_0001" id="xy_kasumi">
<name>kasumi</name>
<age>18</age>
<gender>female</gender>
</user>
<user number="kasumi_0002">
<name>xy</name>
<age>18</age>
<gender>male</gender>
</user>
</users>
然后这里主要是了解下css选择器在document.select中的应用。
有根据id的,有根据元素名的,有根据属性名的,有获取子标签的。
示例如quickIntroduction.java:
package day12;
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.net.URL;
public class quickIntroduction {
public static void main(String[] args) throws Exception{
getElement();
}
public static void getElement() throws Exception{
String path=quickIntroduction.class.getClassLoader().getResource("day12/test5.xml").getPath();
Document document= Jsoup.parse(new File(path),"utf-8");
System.out.println("---------通过css选择器获取所有标签名为name的节点列表-------------");
Elements names= document.select("name");
System.out.println(names);
System.out.println("---------通过css选择器获取id为xy_kasumi的元素列表-------------");
Elements byIdElements=document.select("#xy_kasumi");
System.out.println(byIdElements);
System.out.println("---------通过css选择器获取元素名为user且有属性number的值为kasumi_0002的元素列表-------------");
Elements byAttributeElements=document.select("user[number=\"kasumi_0002\"]");
System.out.println(byAttributeElements);
System.out.println("---------通过css选择器获取元素名为user且有属性number的值为kasumi_0002的子标签(要求子标签名称为name)的子标签列表-------------");
Elements byChildElements=document.select("user[number=\"kasumi_0002\"] > name");
System.out.println(byChildElements);
}
}
关键字词:xml,解析,Jsoup,选择器,css