java学习与应用(4.3.1)--XML与解析

XML

XML(extensible markup language可扩展标记语言),由万维网联盟(W3C)提出,以替代HTML,后来基本用语存储数据(配置文件,网络中传输文件)
第一行文档声明:(属性列表如version[必选],encoding[默认iso-8859-1],standalone[文件是否独立,已失效]),用于早起和css配合控制样式显示网页。
然后自定义文档标签,有且只有一个跟标签,属性值以引号引起,标签必须正确关闭(配对或自闭和),并区分大小写。标签需要id唯一,CDATA区内容被原样展示(针对特殊字符)(
约束:说明文档规定xml文档的书写规则,作为框架的使用者,在xml中引入约束文档(DTD、Schema)。
DTD:定义标签,后添加括号中内为允许的子标签,以*为可出现无数次,+为一次或多次,#PCDATA为字符串。定义标签拥有的属性,顺次为标签、属性、属性类型们(#REQUIRED为必须出现)。
DTD有外部dtd,分本地()和网络()。也有内部dtd在xml内()。
Schemla约束:能定义字符串内容约束等,xsd后缀。引入方式:在根标签的属性中引入xsi前缀,引入xsd文件命名空间,为每一个xsd约束声明前缀以简化命名空间,xmlns后为空位默认空前缀。




	
		tom
		18
		male
	


 

XML解析

XML解析:DOM方式解析(服务端),根据dom树进行CRUD操作,操作方便但占内存。SAX方式解析(移动端),逐行读取,基于事件驱动,不占内存,但只能读取。
解析器:JAXP由sun公司提供支持dom和sax,DOM4J比较优秀的解析器。Jsoup解析html等【示例】,PULL是Android内置的解析器。导入jar包,获取Document对象,Element对象,获取数据。
Jsoup的使用代码见Demo1。
Jsoup工具对象解析html(parse传入文件和编码或字符串数据或网络资源URL对象和超时时间以加载dom),
Document对象代表dom树(根据标签属性id等获取Elements对象以获取元素集合[ArrayList]),Elements代表Element对象集合,
Element元素对象(包含获取子标签getElement等方法,attr根据属性名获取属性值,text获取文本内容,html获取标签体的内容),Node节点对象(Document和Element的父类对象)。
快捷查询方式:selector选择器,参考Select类定义的方法。document.select方法,用于获取元素和属性值匹配的数据,中括号内为属性选择,引号添加转义,>为其子标签。
XPath:导入jar包,获取Document对象,创建JXDocument对象,使用JXDocument的语法查询,查询方法如selN方法中写入路径表达式(见手册)。

 

你可能感兴趣的:(java学习与应用(4.3.1)--XML与解析)