对象使用
- 1.Jsoup:工具类,可以解析html或xml文档,返回Document
- parse:解析html或xml文档,返回Document
-
parse(File in, String charsetName):解析xml或html文件的。
-
parse(String html):解析xml或html字符串
-
parse(URL url, int timeoutMillis):通过网络路径获取指定的html或xml的文档对象
代码:
student.xml:
-
- parse:解析html或xml文档,返回Document
<?xml version="1.0" encoding="UTF-8" ?>
<students>
<student number="ky_0001">
<name>tom</name>
<age>18</age>
<sex>male</sex>
</student>
<student number="ky_0002">
<name id="09">lisi</name>
<age>24</age>
<sex>male</sex>
</student>
</students>
Jsoup对象:
/**
* Jsoup对象功能
*/
public class JsoupDemo2 {
public static void main(String[] args) throws IOException {
//2.1获取student.xml的path
String path = JsoupDemo2.class.getClassLoader().getResource("student.xml").getPath();
//2.2解析xml文档,加载文档进内存,获取dom树--->Document
//方法一 parse(File in, String charsetName):解析xml或html文件的。
/*Document document = Jsoup.parse(new File(path), "utf-8");
System.out.println(document);
*/
//方法2:parse(String html):解析xml或html字符串
/* String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
"\n" +
"<students>\n" +
" \t<student number=\"ky_0001\">\n" +
" \t\t<name>tom</name>\n" +
" \t\t<age>18</age>\n" +
" \t\t<sex>male</sex>\n" +
" \t</student>\n" +
"\n" +
"\t<student number=\"ky_0002\">\n" +
"\t\t<name>lisi</name>\n" +
"\t\t<age>24</age>\n" +
"\t\t<sex>male</sex>\n" +
"\t</student>\n" +
"\t\t \n" +
"</students>";
Document document = Jsoup.parse(str);
System.out.println(document);*/
//方法3.parse(URL url, int timeoutMillis):通过网络路径获取指定的html或xml的文档对象
URL url = new URL("https://www.w3school.com.cn/x.asp");
Document document = Jsoup.parse(url, 10000);
System.out.println(document);
}
}
- 2. Document:文档对象。代表内存中的dom树
- 获取Element对象
-
getElementById(String id):根据id属性值获取唯一的element对象
-
getElementsByTag(String tagName):根据标签名称获取元素对象集合
-
getElementsByAttribute(String key):根据属性名称获取元素对象集合
-
getElementsByAttributeValue(String key, String value):根据对应的属性名和属性值获取元素对象集合
代码:
-
- 获取Element对象
/**
* Document/Element对象功能
*/
public class JsoupDemo3 {
public static void main(String[] args) throws IOException {
//1.获取student.xml的path
String path = JsoupDemo3.class.getClassLoader().getResource("student.xml").getPath();
//2.获取Document对象
Document document = Jsoup.parse(new File(path), "utf-8");
//3.获取元素对象
//3.1获取所有student对象
Elements elements = document.getElementsByTag("student");
System.out.println(elements);
System.out.println("----------");
//3.2获取属性名为id的元素对象们
Elements elements1 = document.getElementsByAttribute("id");
System.out.println(elements1);
System.out.println("----------");
//3.3获取number属性值为ky_0001的元素对象
Elements elements2 = document.getElementsByAttributeValue("number", "ky_0001");
System.out.println(elements2);
System.out.println("----------");
//3.4获取id属性值的元素对象
Element id = document.getElementById("09");
System.out.println(id);
}
}
-
3.Elements:元素Element对象的集合。可以当做 ArrayList来使用
-
4. Element:元素对象
- 1.获取子元素对象
- getElementById(String id):根据id属性值获取唯一的element对象
- getElementsByTag(String tagName):根据标签名称获取元素对象集合
- getElementsByAttribute(String key):根据属性名称获取元素对象集合
- getElementsByAttributeValue(String key, String value):根据对应的属性名和属性值获取元素对象集合
- 1.获取子元素对象
-
2.获取属性值
- String attr(String key):根据属性名称获取属性值
- String attr(String key):根据属性名称获取属性值
-
3.获取文本内容
- String text():获取文本内容
- String html():获取标签体的所有内容(包括字标签的字符串内容)
- String html():获取标签体的所有内容(包括字标签的字符串内容)
- String text():获取文本内容
-
5.Node:节点对象
- 是Document和Element的父类