XMPP协议的JAVA实现,采用XMLPULL协议是比较好的实现策略,下了源码,记录下,不定时更新。
?
一、核心处理流程:
1、next()实现流程
a、进行xml头解析parseProlog()
包括BOM、<?xml version='1.0' encoding='UTF-8' standalone='yes'?>和根元素的解析
b、循环进行根元素中的元素分析
b.1、遇到"<"字符,进行分支判定,分支包括/(是否标签结尾)、!(是否注释!-或CDATA![)、?(PI解析,存在疑问)、合法元素起始字符(正常走parseStartTag()且return该方法返回事件,存在疑问)、其它字符抛异常。
b.2、遇到"&"字符,进行reference解析