一:概念
1、XML Extensible markup Language 可拓展标记语言
2、功能:存储数据(配置文件,在网络中传输数据)
3、html和xml的区别
3、1xml标记全是自定义的
3、2xml的语法严格
3、3xml是存储数据 html是展示数据
二:语法格式
1、文档的后缀名为 .xml
2、第一行必须是定义的文档声明
3、xml文档中有且只有一个跟标签
4、属性值必须用引号
5、标签必须关闭
6、xml标签名称区别大小写
7、约束:规定xml文档书写规则
约束分类(DTD和Schema)
三:解析
操作xml文档,将文档中的数据读取到内存中
1、操作xml文档
读取,将文档中的内容读取到内存中。
2、解析方式
2、1dom将标记语言一次性加载进内存,在内存中形成一颗DOM树。优点:操作简单,可以进行CRUD操作。缺点:消耗内存。
2、2sax逐行读取,基于事件驱动,不占内存,只能读不能增删改
3、常见解析器
3、1、JAXP sun公司解析器,支持dom和sax两种思想解析接口,同时还支持XSLT接口用来将xml文档进行数据和文档转换。
3、2DOM4J
3、3Jsoup 它提供了一套非常省力的API直接解析URL地址,html文本内容。可通过DOM,css以及jQuery的操作方法来取出和操作数据。
3.4Pull Android操作系统内置的解析器,sax方式。
4、Jsoup入门程序
1、导包
2、获得Document对象
3、获取对应的标签Element
4、获取数据
5、对象的使用
1、 Jsoup工具类可以解析xml文档,返回Document对象
parse解析文档
2、获取对应的标签Element
3、获取数据
代码如下:
1 package jsoup;
2
3 import org.jsoup.Jsoup;
4 import org.jsoup.nodes.Document;
5 import org.jsoup.nodes.Element;
6 import org.jsoup.select.Elements;
7
8 import java.io.File;
9 import java.io.IOException;
10
11 public class Demo1Jsoup {
12 public static void main(String[] args) throws IOException {
13 // 2获得Document 对象
14 String path = Demo1Jsoup.class.getClassLoader().getResource("st.xml").getPath();
15 Document document = Jsoup.parse(new File(path), "utf-8");
16 // 3 获取对应的标签Element
17 Elements elements = document.getElementsByTag("name");
18 // System.out.println(elements);
19 System.out.println(elements.size());
20 Element name = elements.get(1);
21 // 4 获取数据
22 System.out.println(name);
23 }
24 }