student3.xml
<?xml version="1.0" encoding="UTF-8" ?>
<students>
<student number="nu_001">
<name id="name_id01">
我叫
<xing>张</xing>
<ming>三</ming>
</name>
<age>21</age>
<sex>male</sex>
</student>
<student number="nu_002">
<name> 李四</name>
<age>20</age>
<sex>male</sex>
</student>
<student number="nu_003">
<name> 王五</name>
<age>22</age>
<sex>male</sex>
</student>
</students>
JsoupDemo04.java
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 JsoupDemo04 {
public static void main(String[] args) throws IOException {
//2.获取Document对象,根据xml文档获取
//2.1获取student.xml的path
String path = JsoupDemo04.class.getClassLoader().getResource("student3.xml").getPath();
Document doc = Jsoup.parse(new File(path),"UTF-8");
/*(1)获取子元素对象(这个是在前面Document基础上继续获取)
Element getElementById(String id)
根据id属性值获取唯一的element对象。
Elements getElementsByTag(String tagName)
根据标签名称获取元素的对象集合
Elements getElementsByAttribute(String key)
根据属性名称获取元素对象集合
Elements getElementsByAttributeValue(String key, String value)
根据对应的属性名和属性值获取元素对象集合
(2)获取属性值
* String attr(String key):根据属性名称获取属性值
(3)获取文本内容
* String text():获取文本内容
* String html():获取标签体的所有内容(包括字标签的字符串内容)
*/
//1、通过Document对象获取name标签,可以获取所有的name标签
Elements elements = doc.getElementsByTag("name");
System.out.println(elements);
System.out.println("=========================================================");
//2、通过Element获取子标签对象
Element element_stu = doc.getElementsByTag("student").get(0);
Elements name = element_stu.getElementsByTag("name");
System.out.println(name);
System.out.println("=========================================================");
//3、获取student对象属性值
//注意:下面这条语句,如果不写get(*),默认会获取第一个带number属性标签的该属性值
String attr = doc.getElementsByTag("student").get(1).attr("number");
System.out.println(attr);
System.out.println("=========================================================");
//获取标签内容
Element element_stu2 = doc.getElementsByTag("student").get(0);
String text =element_stu2.getElementsByTag("name").text();
System.out.println(text);
System.out.println("=========================================================");
String name1 = element_stu2.getElementsByTag("name").html();
System.out.println(name1);
}
}
输出:
<name id="name_id01">
我叫
<xing>
张
</xing>
<ming>
三
</ming>
</name>
<name>
李四
</name>
<name>
王五
</name>
=========================================================
<name id="name_id01">
我叫
<xing>
张
</xing>
<ming>
三
</ming>
</name>
=========================================================
nu_002
=========================================================
我叫 张 三
=========================================================
我叫
<xing>
张
</xing>
<ming>
三
</ming>
来源:CSDN
作者:l0510402015
链接:https://blog.csdn.net/l0510402015/article/details/104646735