解析Xml的方式
1.DOM
将标记语言文档一次性加载进内存,在内存中形成一颗dom树
2.SAX
逐行读取,基于事件驱动
xml常见解析器:
1.JAXP:sun提供的解析器,支持dom和sax两种思想
2.DOM4J:一块非常优秀的解析器
3.Jsoup: jsoup是一个HTML解析器,DOM操作
4.PULL:Android操作系统内置的解析器,sax方式
jsoup
1.导入jar包[jsoup-1.11.2.jar]
2.xml文件
<?xml version='1.0' encoding='utf-8' standalone='no'?>
<users>
<user id="1">
<name>张三</name>
<age>18</age>
<br/>
</user>
<user id="2">
<name>李四</name>
<age>18</age>
<br/>
</user>
</users>
3.java类
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class DemoJsoup {
public static void main(String[] args) throws IOException {
String path = DemoJsoup.class.getClassLoader().getResource("user.xml").getPath();//文件路劲
//解析xml文档,加载文档进内存
Document doc = Jsoup.parse(new File(path),"utf-8");//字符集要跟xml相同
Elements name = doc.getElementsByTag("name");
System.out.println(name);
}
}
注:路劲你可以用绝对路径,可以不一定像这个一样,如:C://F:\works\user.xml,只要把路径传入就行。
结果
<name>
张三
</name>
<name>
李四
</name>