一:概念
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文档
读取,将文档中的内容读取到内存中。
写入,将内存中的内容保存到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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了