1、html:所有的标记都已经定义死了。不能自己定义。
<div></div>
<table><tr><td></td></tr></table>
2、xml:以什么标记开始,就以什么标记结束建议大家最好用英文字母(有意义的)
<a></a>
<abcdef>
<加><加>
<yinwen><yinwen>
</abcdef>
3、html给人看的<h1>abcdef</h1>
xml:给计算机看的,是计算机与计算机之间传递数据的方式之一。<data>abcdef</data>
4、xmlpull:解析XML有一个标准:Sun/Oracle
标准的名字:JAXP(java api for xml processing)
解析xml文档的两种方式:DOM(想法:将XML所有内容加载到内存,我们在去内存里面一个个的找)方式,定义好的API。具体的API在JDK文档
SAX(想法:我一行一行的读XML,遇见了相应的标记后,调用事先定义好的回调函数。在回调函数里面去实现:我们想要得到的数据的方法。但是需要自己保存数据。)
push推实现JAXP标准
5、DOM非常的哪弄:更好的解析DOM的API(只有定义没有实现)
DOM的方式解析XML思想:将所有XML的信息放到内存,使用的时候,在从内存一个个取出来。
(1)、dom4j:自己实现了一个Alfred2的解析器。(效率高)
(2)、jdom:可以自由的选择实现:Crimeson.jar.Xerces.jar
Alfred2的解析器比Crimson.jar,Xerces.jar数据高。比较流行的是:dom4j。
6、android Java虚拟机。只是使用了java语言而已。编译出来的东西class。
7、xmlpull方式:跟sax很相像。基于事件的解析。
底层的实现(一部分使用了SAX的方式(SAX实现)
底层代码实习(实现代码:libcore\xml\src\main\java\org\xmlpull\v1)
使用没有区别。API一样。底层,有本质的区别。效率和处理方式有区别。
8 、SAX解析的时候,不能中途停止。(回调方法定死的)
XMLPULL:中途可以停止。(处理方法不是定死的)
9、android里面解析XML的方式:
(1)、DOM
(2)、SAX
(3)、XMLPULL
(4)、以上三种都不满足的情况下,你自己实现:
读文档(一行一行)
解析文档(一行一行的解析一个字一个字的解析)
保存信息