xml解析jsoup_Document对象和xml解析jsoup_Element对象
xml解析jsoup_Document对象
Document:文档对象。代表内存中的dom树
获取Element对象
getElementById(String id):根据id属性值获取唯一的element对象
getElementsByTag(String tagName):根据标签名称获取元素对象集合
getElementsByAttribute(String key):根据属性名称获取元素对象集合
getElementsByAttributeValue(String key, String value):根据对应的属性名和属性值获取元素对象集合
student.xml:
<?xml version="1.0" encoding="UTF-8" ?> <students> <student number="sq_0001"> <name id="itcast">张三</name> <age>11</age> <sex>male</sex> </student> <student number="sq_0002"> <name>李四</name> <age>12</age> <sex>female</sex> </student> </students>
public static void main(String[] args) throws IOException { //获取student.xml的path String path = Jsoup_3_Document.class.getClassLoader().getResource("student.xml").getPath(); //获取Document对象 Document document = Jsoup.parse(new File(path), "utf-8"); //获取所有student对象 Elements elements = document.getElementsByTag("student"); System.out.println(elements); System.out.println("--------------"); //获取属性名为id的元素对象们 Elements elements1 = document.getElementsByAttribute("id"); System.out.println(elements1); System.out.println("--------------"); //获取number属性值为sq_0001的元素对象 Elements elements2 = document.getElementsByAttributeValue("number", "sq_0001"); System.out.println(elements2); System.out.println("--------------"); //获取id属性值的元素对象 Element itcast = document.getElementById("itcast"); System.out.println(itcast); }
xml解析jsoup_Element对象
1.获取子元素对象:
getElementById(String id):根据id属性值获取唯一的element对象
getElementsByTag(String tagName):根据标签名称获取元素对象集合
getElementsByAttribute(String key):根据属性名称获取元素对象集合
getElementsByAttributeValue(String key, String value):根据对应的属性名和属性值获取元素对象集合
2.获取属性值:
String attr(String key):根据属性名称获取属性值
3.获取文本内容:
String text():获取所有字标签的纯文本内容
String html():获取标签体的所有内容(包括子标签的标签和文本内容)
private static void Element() throws IOException { //获取student.xml的path String path = Jsoup_3_Document.class.getClassLoader().getResource("student.xml").getPath(); //获取Document对象 Document document = Jsoup.parse(new File(path), "utf-8"); //通过Document对象获取name标签,获取所有的name标签,可以获取到两个 Elements elements = document.getElementsByTag("name"); System.out.println(elements.size()); System.out.println("==========================="); //通过Element对象获取子标签对象 Element element_student = document.getElementsByTag("student").get(0); Elements ele_name = element_student.getElementsByTag("name"); System.out.println(ele_name.size()); System.out.println("==========================="); //获取student对象的属性值 String number = element_student.attr("number"); System.out.println(number); System.out.println("==========================="); //获取文本内容 String text = ele_name.text(); String html = ele_name.html(); System.out.println(text); System.out.println(html); }