目录
1.利用Jsoup解析 XML 或HTML 形成DOM树对象
1.利用Jsoup解析 XML 或HTML 形成DOM树对象
|
static Document parse(File in, String charsetName)
|
解析本地文件
|
|
static Document parse(String html)
|
解析 html 或 xml 字符串
|
|
static Document parse(URL url, int timeoutMillis)
|
解析网页源文件
|
1.解析本地XML文件
// 解析本地XML
//通过类加载器获得XML的绝对路径
String path = demo2.class.getClassLoader().getResource("XML/xsd/student.xml").getPath();
Document document1 = Jsoup.parse(new File(path), "utf-8");
2.直接解析字符串
// 解析字符串
/* 这个没什么好说的,直接把要解析的XML文件内容
复制过来到Jsoup.parse() 就行了 */
3.解析网络资源
// 解析网络资源
Document document2 = Jsoup.parse(new URL("http://www.baidu.com"), 5000);
System.out.println(document2);
其中 Jsoup.parse()的参数是

第一个参数URL url:要解析的网址
第二个参数 timeoutMillis:最大时长限制 单位是毫秒 比如设 5000 ,那么如果 5秒后还没有完成解析,系统会认为目前网络不太通畅,停止解析并且抛出错误

2.关于Document:xml的dom树对象的常用方法
|
Element getElementById(String id)
| 根据 id 获取元素 |
| Elements getElementsByTag(String tagName) | 根据标签名获取元素 |
| Elements getElementsByAttribute(String key) | 根据属性获取元素 |
| Elements getElementsByAttributeValue(String key,String value) |
根据属性名
=属性值获取元素
|
|
Elements select(Sting cssQuery)
|
根据选择器选取元素
|
//先把需要解析的XML文件变成DOM树对象
String path = demo2.class.getClassLoader().getResource("XML/jsoup/student.xml").getPath();
Document document = Jsoup.parse(new File(path), "utf-8");
// 根据id获取元素
Element element = document.getElementById("a1");
System.out.println(element);
System.out.println("=============");
// 根据标签名获取元素
Elements element1 = document.getElementsByTag("age");
System.out.println(element1);
System.out.println("=============");
// 根据属性获取元素
Elements element2 = document.getElementsByAttribute("number");
System.out.println(element2);
System.out.println("=============");
// 根据属性名=属性值获取元素
Elements element3 = document.getElementsByAttributeValue("number","001");
System.out.println(element3);
System.out.println("=============");
// 最好用的:根据选择选择元素 CSS的
Elements element4 = document.select("#a1");// 根据ID
Elements element5 = document.select(".age1");//根据类
3.Element:元素对象的常用方法
|
String text()
| 获取元素包含的纯文本 |
|
String html()
| 获取元素包含的带标签的文本 |
|
String attr(String attributeKey)
| 获取属性key对应的值value |
//先把需要解析的XML文件变成DOM树对象
String path = demo2.class.getClassLoader().getResource("XML/jsoup/student.xml").getPath();
Document document = Jsoup.parse(new File(path), "utf-8");
Elements elements = document.getElementsByAttributeValue("number", "001");
//获取元素包含的纯文本
System.out.println(elements.text());
System.out.println("=============");
//获取元素包含的带标签的文本
System.out.println(elements.html());
System.out.println("=============");
//获取属性对应的属性值
System.out.println(elements.attr("number"));
本文介绍了如何使用Jsoup解析XML和HTML,包括从本地文件、字符串和网络资源中获取数据,并形成DOM树。重点讲解了Document对象的常用方法和Element对象的操作。

2197

被折叠的 条评论
为什么被折叠?



