文件解析方法及装置与流程

文档序号:12719936阅读:来源:国知局

技术特征:

1.一种文件解析方法,其特征在于,所述解析方法包括:

预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略;

读取待解析文件中的数据,获取当前的字段解析状态;

从所述预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略中查找出与所述当前的字段解析状态相匹配的文件解析策略;

利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程。

2.如权利要求1所述的解析方法,其特征在于,所述利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程包括:

当所述当前的字段解析状态为行结束状态时,读取下一个字符,若所述下一个字符为字段包括符,则所述当前的字段解析状态由所述行结束状态转变成字段开始状态;

当所述当前的字段解析状态为所述字段开始状态时,若接下来读取到的字符不是所述字段包括符,则所述当前的字段解析状态由所述字段开始状态转变成字段匹配状态;

当所述当前的字段解析状态为所述字段匹配状态时,根据与所述字段匹配状态相匹配的文件解析策略读取所述待解析文件中的数据,若读取到当前字符为所述字段包括符,则所述当前的字段解析状态由所述字段匹配状态转变成字段结束状态;

当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理。

3.如权利要求2所述的解析方法,其特征在于,所述当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理包括:

当所述当前的字段解析状态为所述字段结束状态时,读取所述下一个字符,若所述下一个字符为所述字段包括符,检测所述待解析文件中是否有出错标签;

若有所述出错标签,则关闭容错标记功能,结束容错处理;

若没有所述出错标签,则打开所述容错标记功能,在文件解析出错的地方设置出错标签,且所述当前的字段解析状态由所述字段结束状态转变成所述字段匹配状态。

4.如权利要求2所述的解析方法,其特征在于,所述当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理还包括:

当所述当前的字段解析状态为所述字段结束状态时,读取所述下一个字符,若所述下一个字符为转义字符或普通字符,则检测所述待解析文件中是否有出错标签;

若有所述出错标签,则延长所述出错标签的标志范围;

若没有所述出错标签,则打开容错标记功能,在文件解析出错的地方设置所述出错标签,且所述当前的字段解析状态由所述字段结束状态转变成所述字段匹配状态。

5.如权利要求2所述的解析方法,其特征在于,所述解析方法还包括:

当所述当前的字段解析状态为所述字段结束状态时,若所述下一个字符为所述字段分隔符或所述行结束符,检测所述待解析文件中是否有出错标签;

若没有所述出错标签,则所述当前的字段解析状态由所述字段结束状态转变成所述字段分割状态或所述行结束状态;

若有所述出错标签,则检测容错标记功能是否打开;

若打开,则延长所述出错标签的标志范围;

若没有打开,则所述当前的字段解析状态由所述字段结束状态转变成字段分割状态或所述行结束状态,并结束出错标签标记功能。

6.一种文件解析装置,其特征在于,所述解析装置包括:

配置模块,用于预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略;

获取模块,用于读取待解析文件中的数据,获取当前的字段解析状态;

查找模块,用于从所述预先配置不同字段解析状态下读取到预设特殊字符后所对应执行的文件解析策略中查找出与所述当前的字段解析状态相匹配的文件解析策略;

执行模块,用于利用与所述当前的字段解析状态相匹配的文件解析策略执行相应的文件解析处理流程。

7.如权利要求6所述的解析装置,其特征在于,所述执行模块包括:

第一字段解析状态处理单元,用于当所述当前的字段解析状态为行结束状态时,读取下一个字符,若所述下一个字符为字段包括符,则所述当前的字段解析状态由所述行结束状态转变成字段开始状态;

第二字段解析状态处理单元,用于当所述当前的字段解析状态为所述字段开始状态时,若接下来读取到的字符不是所述字段包括符,则所述当前的字段解析状态由所述字段开始状态转变成字段匹配状态;

第三字段解析状态处理单元,用于当所述当前的字段解析状态为所述字段匹配状态时,根据与所述字段匹配状态相匹配的文件解析策略读取所述待解析文件中的数据,若读取到当前字符为所述字段包括符,则所述当前的字段解析状态由所述字段匹配状态转变成字段结束状态;

第四字段解析状态处理单元,用于当所述当前的字段解析状态为所述字段结束状态时,读取下一个字符,若所述下一个字符不是字段分隔符或行结束符,则对所述当前字符之后的字符进行容错处理。

8.如权利要求7所述的解析装置,其特征在于,所述第四字段解析状态处理具体用于:

当所述当前的字段解析状态为所述字段结束状态时,读取所述下一个字符,若所述下一个字符为所述字段包括符,检测所述待解析文件中是否有出错标签;

若有所述出错标签,则关闭容错标记功能,结束容错处理;

若没有所述出错标签,则打开所述容错标记功能,在文件解析出错的地方设置所述出错标签,且所述当前的字段解析状态由所述字段结束状态转变成所述字段匹配状态。

9.如权利要求7所述的解析装置,其特征在于,所述第四字段解析状态处理单元还用于:

当所述当前的字段解析状态为所述字段结束状态时,读取所述下一个字符,若所述下一个字符不为所述预设特殊字符,则检测所述待解析文件中是否有出错标签;

若有所述出错标签,则延长所述出错标签的标志范围;

若没有所述出错标签,则打开容错标记功能,在文件解析出错的地方设置所述出错标签,且所述当前的字段解析状态由所述字段结束状态转变成所述字段匹配状态。

10.如权利要求7所述的解析装置,其特征在于,所述第四字段解析状态处理单元还用于:

当所述当前的字段解析状态为所述字段结束状态时,若所述下一个字符为所述字段分隔符或所述行结束符,检测所述待解析文件中是否有出错标签;

若没有所述出错标签,则所述当前的字段解析状态由所述行结束状态转变成所述字段分割状态或所述行结束状态;

若有所述出错标签,则检测容错标签是否打开;

若打开,则延长所述出错标签的标志范围;

若没有打开,则所述当前的字段解析状态由所述行结束状态转变成字段分割状态或所述行结束状态,并结束出错标签标记功能。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1