XML是什么:可拓展标记语言
XML的作用: 主要作为配置文件使用,也可以作为一种数据协议进行数据跨平台传输
XML的缺点: 由于写法繁琐不可以省略,浪费流量
XML的语法格式:
<>xml version='1.0' encoding = 'utf-8' ?>
<根标签>
<子标签>
内容
语法书写需要注意的点:
1.不i需座位第一行第一列
2.一个XML文档中只能有一个根标签
3.根标签中才支持子标签
4.标签中可以存在属性与内容
5.XML文件后缀名为.xml
6.encoding属性的默认编码为国际标准编码 ISO-8859-1
CDATA
约束,限制
dtd约束和schema约束的区别
1.dtd约束文件后缀名是.dtd, schema的文件后缀名是xsd
2.schema约束比dtd约束的功能更加强大
3.dtd约束只能引入一个约束文件
4.schema约束只是命名空间(也叫名称空间),namespace
xml的解析方式(原理!!)
1.dom解析
把文档全部加载,可以对文档进行增删改查,对内存占用较大,可能导致内存溢出
2.sax解析
逐行解析,解析基于事件驱动,只能读取,对内存开销小,速度快
xml的解析器有哪些(解析xml的jar包)?
jaxp
*dom4j
*jsoup(已经开始学习的)
pull(基于安卓的解析器)
XML如何借助第三方jar包进行解析
关注点(获取)
1.jar包放在项目根目录下的libs目录下
2.要解析的xml文件再src目录下!!
可以使用类加载器去找文件
String path=类型.class.getClassLoader().getResource("xml文件名").getPath();
inputStream is = 类名.class.getClassLoader().getResourceAsStream("xml文件名")
3.Jsoup的作用加载xml文件获取document对象
4.document对象用来获取指定标签的Element对象
5.Element对象作用,获取element对象,获取属性值,获取内容
6.jsoup中node是document和element的超类
jsoup使用步骤
1.加载xml文件以获取document对象
2.通过document对象获取指定标签(从整个文档中搜索)
3.通过指定标签可以继续查找子标签(从当前标签搜索子元素)
4.通过标签获取属性值或者内容->属性值而不是属性
方法:attr("属性名称)
text()
html()
快速获取指定标签
选择器:
标签选择器,属性选择器,子元素选择器,后代选择器…
xpath:
1.导入JsoupXpath-0.3.2.jar
2.获取document对象
3.将对象转换成JXDocument对象 JXDocument 对象名 new JXDocument(document)
4.调用方法获取指定标签 对象名.seIN("//标签名(无视嵌套找到所有)")返回list(JXNode)
5.获取属性值或者文本内容 text() html() attr("属性名)返回属性值
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/253378.html