01.01_XML简介
[1]什么是XMl
XML 指[可扩展][标记语言](EXtensible Markup Language)
XML 是一种标记语言,很类似 [HTML]
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准
[2]为什么要用XMl
XML 可扩展标记语言
XML 被设计用来传输和存储数据
XML (重要)可以用来做配置文件
01.02_XML的声明
[1]定义一个xml文件,格式是固定的
[2]如何验证一个xml文件是否正确呢,直接浏览器查看就可以了
[3]xml的编码
01.03_XML的语法
[1]所有 XML 元素都须有关闭标签
[2]XML 标签对大小写敏感
[3]XML 必须正确地嵌套
[4]XML 文档必须有根元素
[5]XML 的属性值须加引号
[6]XML 中,一些字符拥有特殊的意义.需要转义。比如 < 等于 <
[7]XML 中的注释\
[8]在 XML 中,空格会被保留
[9]CDATA区 所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
...
]]>
01.04_XML中元素的概念
[1]XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
[2]元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性
[3]命名规则
[3.1]名称可以含字母、数字以及其他的字符
[3.2]名称不能以数字或者标点符号开始
[3.3]名称不能以字符 “xml”(或者 XML、Xml)开始
[3.4]名称不能包含空格
01.05_xml中三种解析方式介绍
[1]dom解析 Document Object Model 官方推荐的标准
原理:把xml文件加载到内存当中,在内存中形成一个树形结构
优点:可以进行增删改查
缺点:容易内存泄漏
[2]sax解析 Simple Api For Xml 不是官方推荐的标准 是从一个程序员社区研究出来的
原理:一边解析 一边处理 一边释放内存 实际上就是一行一行的读
优点:不会内存泄漏
缺点:不能够对数据进行增删改
API Application programming Interface应用程序接口
[3]xmlPull解析 Android中内置的解析器 这个必须会
原理:类似sax
[4]3种解析方法 只有思想 并没有提供相应的api实现
sun公司提供了一套接口Jaxp Java API For Xml processing 实现dom和sax解析
01.06_dom解析
dom解析会把xml元素 属性 文本 都当成节点
[1]javax.xml.parsers
[2]DocumentBuilder 使其从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个 Document
[3]DocumentBuilderFactory 使应用程序能够从 XML 文档获取生成 DOM 对象树的解析器
[4]Document XML 文档
步骤
[1]获取DocumentBuilderFactory 解析器工厂
[2]获取DocumentBuilder 解析器
[3]解析xml文件 获取Document 整个文档对象
[4]获取xml里面的内容
[5]获取节点里面每次个节点对象
01.07_sax解析
步骤:
[1]获取一个 SAXParserFactory 解析器工厂
[2] 获取一个SAXParser 解析器
[3]开始解析xml
代码:
01.08_xmlpull解析把数据封装到javaBean中
xmlPull解析 Android中内置的解析器 这个必须会
原理:类似sax
与sax区别:sax强制解析所有,xmlPull解析可控,想解析哪个哪里就解析哪里
事件类型:
public static final int START_DOCUMENT = 0;
public static final int END_DOCUMENT = 1;
public static final int START_TAG = 2;
public static final int END_TAG = 3;
public static final int TEXT = 4;
步骤
[1]获取一个 XmlPullParserFactory 解析工厂
[2]获取一个 XmlPullParser
[3]读取xml文档
[4]获取事件类型
5]解析器向下移动