一、解析环境
1、工具:jsoup
2、jar包:jsoup-1.11.2.jar ,JsoupXpath-0.3.2.jar
二、文件目录:
1、解析方式:dom解析
2、文件目录
三、案例代码
1、xml文件
<?xml version="1.0" encoding="utf-8" ?>
<lol>
<hero id="中单" number="1001">
<name>疾风剑豪</name>
<age>3</age>
<sex>男</sex>
</hero>
<hero id="上单" number="1002">
<name>洛克萨斯之手</name>
<age>6</age>
<sex>女</sex>
</hero>
<hero id="下单" >
<name>影流之主</name>
<age>12</age>
<sex>未知</sex>
</hero>
</lol>
2、解析代码
package com.mollen.jsoup;
import cn.wanghaomiao.xpath.model.JXDocument;
import cn.wanghaomiao.xpath.model.JXNode;
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;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
Document doc1 = Jsoup.parse(new File("javaweb_day011//src//xml//lol.xml"), "utf-8");
Document doc2 = Jsoup.parse(" <?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" +
" <lol>\n" +
" <hero id=\"中单\" number=\"1001\">\n" +
" <name>疾风剑豪</name>\n" +
" <age>3</age>\n" +
" <sex>男</sex>\n" +
" </hero>\n" +
" <hero id=\"上单\" number=\"1002\">\n" +
" <name>洛克萨斯之手</name>\n" +
" <age>6</age>\n" +
" <sex>女</sex>\n" +
" </hero>\n" +
" <hero id=\"下单\" >\n" +
" <name>影流之主</name>\n" +
" <age>12</age>\n" +
" <sex>未知</sex>\n" +
" </hero>\n" +
" </lol>");
Document doc3 = Jsoup.parse(new URL("https://www.baidu.com/"), 100000);
Element element1 = doc1.getElementById("上单");
Elements elements1 = doc1.getElementsByTag("hero");
Elements elements2 = doc1.getElementsByAttribute("number");
Elements elements3 = doc1.getElementsByAttributeValue("number", "1001");
Element ele1 = element1.getElementById("上单");
Elements eles1 = element1.getElementsByTag("name");
Elements eles2 = element1.getElementsByAttribute("number");
Elements eles3 = element1.getElementsByAttributeValue("number", "1002");
String value = element1.attr("number");
String text = element1.text();
String html = element1.html();
Elements e1 = doc1.select("name");
Elements e2 = doc1.select("#中单");
Elements e3 = doc1.select("hero[number=\"1002\"]");
Elements e4 = doc1.select("hero[number=\"1002\"]>age");
String path = "javaweb_day011//src//xml//lol.xml";
Document document = Jsoup.parse(new File(path), "utf-8");
JXDocument jxDocument = new JXDocument(document);
List<JXNode> jxNodes = jxDocument.selN("//lol");
for (JXNode jxNode : jxNodes) {
System.out.println(jxNode);
}
System.out.println("--------------------");
List<JXNode> jxNodes2 = jxDocument.selN("//lol/hero");
for (JXNode jxNode : jxNodes2) {
System.out.println(jxNode);
}
System.out.println("--------------------");
List<JXNode> jxNodes3 = jxDocument.selN("//lol/hero[@id]");
for (JXNode jxNode : jxNodes3) {
System.out.println(jxNode);
}
System.out.println("--------------------");
List<JXNode> jxNodes4 = jxDocument.selN("//lol/hero[@id='中单']");
for (JXNode jxNode : jxNodes4) {
System.out.println(jxNode);
}
}
}