富文本文档的解析方法和系统技术方案

技术编号:8022395 阅读:388 留言:0更新日期:2012-11-29 04:38
一种富文本文档的解析方法,包括以下步骤:定义富文本文档中的自定义标签;定义与所述自定义标签一一对应的解析方法;在所述富文本文档中循环查找所述自定义标签;调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的采用标准标签标记的文本块,生成标准富文本文档;解析标准富文本文档。上述富文本文档的解析方法能够解析包含了自定义标签的富文本文档。此外,还提供了一种富文本文档的解析系统。

【技术实现步骤摘要】
富文本文档的解析方法和系统
本专利技术涉及计算机
,特别涉及一种富文本文档的解析方法和系统。
技术介绍
富文本文档常用于计算机技术的视图领域,是采用富文本格式的文档。与纯文本格式的文档相比,富文本文档包含了文档的格式信息、字体的颜色信息、大小信息等更多的信息,并采用标签标记的方法来表示这些信息。由于纯文本格式的文档仅包含文字信息,用于展示信息时比较呆板不生动,因此纯文本已经不能满足一些组织单位的展示业务。而采用表现手法更加多元化的富文本文档,可以使得内容的展示更加生动,更加立体。富文本文档通常采用某些权威组织制定的标准标签库来进行标记,称之为标准富文本文档。用于展示的系统部分则包括用于解析标准富文本文档的解析系统,该解析系统用于将根据标准标签库将富文本文档中的标签标记转换为展示内容。例如,Android系统采用了HTML文档来展示信息,并提供webView控件来解析HTML文档,生成页面。HTML文档即为采用了W3C(WorldWideWebConsortium,万维网联盟)标准的HTML标签库的标准富文本文档。前述标准富文本文档由于仅仅采用了前述标准标签库来标记富文本格式的信息,因此具有一定局限性。若使用不属于标准标签库的自定义标签来标记更多的富文本格式信息,则会因为解析系统不支持这种解析方法而失败。这是因为前述的传统技术中的富文本文档的解析系统只能根据前述的标准标签库来解析标准富文本文档。当富文本文档中出现了不属于所述标准标签库的标签时,即包括自定义标签时,则传统的解析系统将不能正常工作。
技术实现思路
基于此,有必要提供一种能够解析包含自定义标签的富文本文档的解析方法。一种富文本文档的解析方法,包括以下步骤:定义富文本文档中的自定义标签;定义与所述自定义标签一一对应的解析方法;在所述富文本文档中循环查找所述自定义标签;调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;解析所述标准富文本文档。在优选的实施例中,采用第一数组定义所述富文本文档中的自定义标签,采用第二数组定义所述解析方法,所述第二数组中的数据元素与所述第一数组中的数据元素按顺序一一对应。在优选的实施例中,所述在富文本文档中循环查找所述自定义标签的步骤为:在富文本文档中查找得到所述自定义标签的起始位置和结束位置。在优选的实施例中,所述根据所述解析方法将查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块的步骤为:将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述富文本文档中的所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块。此外,还有必要提供一种能解析包含自定义标签的富文本文档的解析系统。一种富文本文档的解析系统,包括:标签定义模块,用于定义富文本文档中的自定义标签;解析方法定义模块,用于定义与所述自定义标签一一对应的解析方法;查找模块,用于在富文本文档中循环查找所述自定义标签;转换模块,用于调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;解析模块,用于解析所述标准富文本文档。在优选的实施例中,所述标签定义模块用于采用第一数组存储所述富文本文档中的自定义标签,所述解析方法定义模块用于采用第二数组存储所述解析方法,所述第一数组中的数据元素与所述第一数组中的数据元素按顺序一一对应。在优选的实施例中,所述查找模块还用于在富文本文档中查找所述自定义标签在所述富文本文档中的起始位置和结束位置。在优选的实施例中,所述转换模块将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的采用标准标签标记的文本块。上述富文本文档的解析方法和系统,通过定义富文本文档中的自定义标签和与自定义标签对应的解析方法,在解析富文本文档时,循环查找富文本文档中的自定义标签,根据与自定义标签的解析方法来讲查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档,而标准富文本文档可采用传统的控件进行解析显示。因此,上述解析方法和系统,不仅可以解析标准富文本文档,还可以解析使用了自定义标签的富文本文档,也使得富文本文档可以展示的内容大大丰富,提高了展示效果。【附图说明】图1为一个实施例中富文本文档的解析方法的流程图;图2为一个实施例中富文本文档的解析系统的结构示意图。【具体实施方式】在一个实施例中,如图1所示,一种富文本文档的解析方法,包括以下步骤:步骤S102,定义富文本文档中的自定义标签。在一个优选的实施方式中,采用第一数组定义富文本文档中的自定义标签。例如,定义一个数组tag[],将定义好的富文本文档中的自定义标签存放在该数组中,该数组的数据元素即为定义好的自定义标签。步骤S104,定义与自定义标签一一对应的解析方法。在一个优选的实施方式中,采用第二数组定义解析方法,第二数组中的数据元素与第一数组中的数据元素按顺序一一对应。例如,定义一个数据handler[],在该数据handler[]中存放定义好的与自定义标签对应的解析方法对象,handler[]中的数据元素与tag[]中的数据元素按顺序一一对应。步骤S106,在富文本文档中循环查找自定义标签。在步骤S106中,遍历第一数组中的所有数据元素,对于遍历到的每一个数据元素(即自定义标签),在富文本文档中查找该自定义标签。对于每一个在第一数组中定义好的自定义标签,都需要在富文本文档中查找一遍,以查找到对应的自定义标签,因此这一过程是一个循环查找的过程,相对于传统的采用递归查找的方式,能够提高系统响应性能。在一个实施方式中,查找到自定义标签时,在富文本文档中查找得到自定义标签的起始位置和结束位置。若没有找到该自定义标签,则继续遍历第一数组中的下一个数据元素。步骤S108,调用与查找到的自定义标签对应的解析方法,根据解析方法将查找到的自定义标签标记的文本块转换为对应的采用标准标签标记的文本块,生成标准富文本文档。在步骤S108中,将富文本文档、自定义标签的起始位置和结束位置作为参数传递给解析方法对象,使用解析方法将富文本文档中的查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块。所有的自定义标签标记的文本块都替换完后,生成标准富文本文档。步骤S110,解析标准富文本文档。该实施例中,标准富文本文档中的标签都是标准标签,可采用传统的控件进行解析。例如,Android系统中,可采用传统的webView控件进行加载显示,从而实现了采用传统的控件也能解析包含了自定义标签的富文本文档。在一个实施例中,如图2所示,一种富文本文档的解析系统,包括标签定义模块102、解析方法定义模块104、查找模块106、转换模块108和解析模块110,其中:标签定义模块102用于定义富文本文档中的自定义标签。在一个优选的实施方式中,标签定义模块102用于采用第一数组定义富文本文档中的自定义标签。例如,定义一个数组tag[],将定义好的本文档来自技高网...
富文本文档的解析方法和系统

【技术保护点】
一种富文本文档的解析方法,包括以下步骤:定义富文本文档中的自定义标签;定义与所述自定义标签一一对应的解析方法;在所述富文本文档中循环查找所述自定义标签;调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;解析所述标准富文本文档。

【技术特征摘要】
1.一种富文本文档的解析方法,包括以下步骤:定义富文本文档中的自定义标签,自定义标签用于标记富文本格式信息;定义与所述自定义标签一一对应的解析方法,采用第一数组定义所述富文本文档中的自定义标签,采用第二数组定义所述解析方法,所述第二数组中的数据元素与所述第一数组中的数据元素按顺序一一对应;在所述富文本文档中循环查找所述自定义标签;调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;解析所述标准富文本文档,所述标准富文本文档采用标准标签库来标记富文本格式的信息,采用传统的控件进行解析。2.根据权利要求1所述的富文本文档的解析方法,其特征在于,所述在富文本文档中循环查找所述自定义标签的步骤为:在富文本文档中查找得到所述自定义标签的起始位置和结束位置。3.根据权利要求2所述的富文本文档的解析方法,其特征在于,所述根据所述解析方法将查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块的步骤为:将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述富文本文档中的所述查找到的自定义标签标记的文本块转换为对应的标准标...

【专利技术属性】
技术研发人员:马斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1