CN102799592A - 富文本文档的解析方法和系统 - Google Patents
富文本文档的解析方法和系统 Download PDFInfo
- Publication number
- CN102799592A CN102799592A CN2011101392139A CN201110139213A CN102799592A CN 102799592 A CN102799592 A CN 102799592A CN 2011101392139 A CN2011101392139 A CN 2011101392139A CN 201110139213 A CN201110139213 A CN 201110139213A CN 102799592 A CN102799592 A CN 102799592A
- Authority
- CN
- China
- Prior art keywords
- text document
- rich text
- analytic method
- label
- customized label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title abstract description 13
- 238000004458 analytical method Methods 0.000 claims description 62
- 230000008520 organization Effects 0.000 description 2
- 238000004040 coloring Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种富文本文档的解析方法,包括以下步骤:定义富文本文档中的自定义标签;定义与所述自定义标签一一对应的解析方法;在所述富文本文档中循环查找所述自定义标签;调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的采用标准标签标记的文本块,生成标准富文本文档;解析标准富文本文档。上述富文本文档的解析方法能够解析包含了自定义标签的富文本文档。此外,还提供了一种富文本文档的解析系统。
Description
【技术领域】
本发明涉及计算机技术领域,特别涉及一种富文本文档的解析方法和系统。
【背景技术】
富文本文档常用于计算机技术的视图领域,是采用富文本格式的文档。与纯文本格式的文档相比,富文本文档包含了文档的格式信息、字体的颜色信息、大小信息等更多的信息,并采用标签标记的方法来表示这些信息。
由于纯文本格式的文档仅包含文字信息,用于展示信息时比较呆板不生动,因此纯文本已经不能满足一些组织单位的展示业务。而采用表现手法更加多元化的富文本文档,可以使得内容的展示更加生动,更加立体。富文本文档通常采用某些权威组织制定的标准标签库来进行标记,称之为标准富文本文档。用于展示的系统部分则包括用于解析标准富文本文档的解析系统,该解析系统用于将根据标准标签库将富文本文档中的标签标记转换为展示内容。例如,Android系统采用了HTML文档来展示信息,并提供webView控件来解析HTML文档,生成页面。HTML文档即为采用了W3C(World Wide Web Consortium,万维网联盟)标准的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[],将定义好的富文本文档中的自定义标签存放在该数组中,该数组的数据元素即为定义好的自定义标签。
解析方法定义模块104用于定义与自定义标签一一对应的解析方法。
在一个优选的实施方式中,解析方法定义模块104用于采用第二数组定义解析方法,第二数组中的数据元素与第一数组中的数据元素按顺序一一对应。例如,定义一个数据handler[],在该数据handler[]中存放定义好的与自定义标签对应的解析方法对象,handler[]中的数据元素与tag[]中的数据元素按顺序一一对应。
查找模块106用于在富文本文档中循环查找自定义标签。
该实施例中,查找模块106用于遍历第一数组中的所有数据元素,对于遍历到的每一个数据元素(即自定义标签),在富文本文档中查找该自定义标签。即对于每一个在第一数组中定义好的自定义标签,都需要在富文本文档中查找一遍,以查找到对应的自定义标签,因此这一过程是一个循环查找的过程,相对于传统的采用递归查找的方式,能够提高系统响应性能。在一个实施方式中,查找模块106还用于查找到自定义标签时,在富文本文档中查找得到自定义标签的起始位置和结束位置。没有找到该自定义标签,则继续遍历第一数组中的下一个数据元素。
转换模块108用于调用与查找到的自定义标签对应的解析方法,根据解析方法将查找到的自定义标签标记的文本块替换为对应的标准标签标记的文本块,生成标准富文本文档。
该实施例中,转换模块108还用于将富文本文档、自定义标签的起始位置和结束位置作为参数传递给解析方法对象,使用解析方法将富文本文档中的查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块。所有的自定义标签标记的文本块都替换完后,生成标准富文本文档。
解析模块110用于解析标准富文本文档。
该实施例中,由于标准富文本文档中的标签都是标准标签,解析模块110可采用传统的控件进行解析。例如,Android系统中,可采用传统的webView控件进行加载显示,从而实现了采用传统的控件也能解析包含了自定义标签的富文本文档。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种富文本文档的解析方法,包括以下步骤:
定义富文本文档中的自定义标签;
定义与所述自定义标签一一对应的解析方法;
在所述富文本文档中循环查找所述自定义标签;
调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;
解析所述标准富文本文档。
2.根据权利要求1所述的富文本文档的解析方法,其特征在于,采用第一数组定义所述富文本文档中的自定义标签,采用第二数组定义所述解析方法,所述第二数组中的数据元素与所述第一数组中的数据元素按顺序一一对应。
3.根据权利要求1所述的富文本文档的解析方法,其特征在于,所述在富文本文档中循环查找所述自定义标签的步骤为:
在富文本文档中查找得到所述自定义标签的起始位置和结束位置。
4.根据权利要求3所述的富文本文档的解析方法,其特征在于,所述根据所述解析方法将查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块的步骤为:
将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述富文本文档中的所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块。
5.一种富文本文档的解析系统,其特征在于,包括:
标签定义模块,用于定义富文本文档中的自定义标签;
解析方法定义模块,用于定义与所述自定义标签一一对应的解析方法;
查找模块,用于在富文本文档中循环查找所述自定义标签;
转换模块,用于调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;
解析模块,用于解析所述标准富文本文档。
6.根据权利要求5所述的富文本文档的解析系统,其特征在于,所述标签定义模块用于采用第一数组存储所述富文本文档中的自定义标签,所述解析方法定义模块用于采用第二数组存储所述解析方法,所述第一数组中的数据元素与所述第一数组中的数据元素按顺序一一对应。
7.根据权利要求5所述的富文本文档的解析系统,其特征在于,所述查找模块还用于在富文本文档中查找所述自定义标签在所述富文本文档中的起始位置和结束位置。
8.根据权利要求7所述的富文本文档的解析系统,其特征在于,所述转换模块将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的采用标准标签标记的文本块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110139213.9A CN102799592B (zh) | 2011-05-26 | 2011-05-26 | 富文本文档的解析方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110139213.9A CN102799592B (zh) | 2011-05-26 | 2011-05-26 | 富文本文档的解析方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799592A true CN102799592A (zh) | 2012-11-28 |
CN102799592B CN102799592B (zh) | 2017-03-29 |
Family
ID=47198704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110139213.9A Active CN102799592B (zh) | 2011-05-26 | 2011-05-26 | 富文本文档的解析方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799592B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279559A (zh) * | 2013-06-13 | 2013-09-04 | 北京神鹰城讯科技有限公司 | 基于安卓系统的富文本编辑方法及富文本编辑器 |
CN103530407A (zh) * | 2013-10-25 | 2014-01-22 | 中国农业银行股份有限公司 | 一种富文本文档的生成方法与装置 |
CN104360848A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
WO2015043203A1 (en) * | 2013-09-30 | 2015-04-02 | Tencent Technology (Shenzhen) Company Limited | Method,apparatus and terminal for processing documents |
CN104750669A (zh) * | 2013-12-30 | 2015-07-01 | 珠海金山办公软件有限公司 | 一种待粘贴对象的处理方法及装置 |
CN105843787A (zh) * | 2016-03-24 | 2016-08-10 | 武汉斗鱼网络科技有限公司 | 一种富文本编辑方法及系统 |
CN109933751A (zh) * | 2019-03-20 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 图文绘制方法、装置、计算机可读存储介质和计算机设备 |
CN110018863A (zh) * | 2018-01-09 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 一种移动端文本显示方法、存储介质、设备及系统 |
CN110188326A (zh) * | 2018-02-22 | 2019-08-30 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN111241793A (zh) * | 2020-02-17 | 2020-06-05 | 湖南快乐阳光互动娱乐传媒有限公司 | 解析富文本编辑器内容给原生客户端渲染的方法、系统及介质 |
CN112748928A (zh) * | 2020-12-30 | 2021-05-04 | 平安普惠企业管理有限公司 | 富文本数据处理方法、装置、计算机设备及存储介质 |
CN115577683A (zh) * | 2022-11-23 | 2023-01-06 | 中国人民解放军国防科技大学 | 一种html富文本内容转换方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090216867A1 (en) * | 2008-02-15 | 2009-08-27 | !J Incorporated | Vendor-independent network configuration tool |
CN101609399A (zh) * | 2008-06-20 | 2009-12-23 | 鸿富锦精密工业(深圳)有限公司 | 基于建模的智能化网站开发系统及方法 |
CN101751461A (zh) * | 2009-12-30 | 2010-06-23 | 中兴通讯股份有限公司 | 一种文档转换方法和装置 |
-
2011
- 2011-05-26 CN CN201110139213.9A patent/CN102799592B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090216867A1 (en) * | 2008-02-15 | 2009-08-27 | !J Incorporated | Vendor-independent network configuration tool |
CN101609399A (zh) * | 2008-06-20 | 2009-12-23 | 鸿富锦精密工业(深圳)有限公司 | 基于建模的智能化网站开发系统及方法 |
CN101751461A (zh) * | 2009-12-30 | 2010-06-23 | 中兴通讯股份有限公司 | 一种文档转换方法和装置 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279559A (zh) * | 2013-06-13 | 2013-09-04 | 北京神鹰城讯科技有限公司 | 基于安卓系统的富文本编辑方法及富文本编辑器 |
CN104516927B (zh) * | 2013-09-30 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 文档处理方法、装置和终端 |
WO2015043203A1 (en) * | 2013-09-30 | 2015-04-02 | Tencent Technology (Shenzhen) Company Limited | Method,apparatus and terminal for processing documents |
CN104516927A (zh) * | 2013-09-30 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 文档处理方法、装置和终端 |
US10049147B2 (en) | 2013-09-30 | 2018-08-14 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and terminal for processing documents |
CN103530407A (zh) * | 2013-10-25 | 2014-01-22 | 中国农业银行股份有限公司 | 一种富文本文档的生成方法与装置 |
CN104750669A (zh) * | 2013-12-30 | 2015-07-01 | 珠海金山办公软件有限公司 | 一种待粘贴对象的处理方法及装置 |
CN104360848B (zh) * | 2014-10-29 | 2018-09-04 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
CN104360848A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
CN105843787B (zh) * | 2016-03-24 | 2018-08-21 | 武汉斗鱼网络科技有限公司 | 一种富文本编辑方法及系统 |
CN105843787A (zh) * | 2016-03-24 | 2016-08-10 | 武汉斗鱼网络科技有限公司 | 一种富文本编辑方法及系统 |
CN110018863B (zh) * | 2018-01-09 | 2022-05-10 | 武汉斗鱼网络科技有限公司 | 一种移动端文本显示方法、存储介质、设备及系统 |
CN110018863A (zh) * | 2018-01-09 | 2019-07-16 | 武汉斗鱼网络科技有限公司 | 一种移动端文本显示方法、存储介质、设备及系统 |
CN110188326A (zh) * | 2018-02-22 | 2019-08-30 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN110188326B (zh) * | 2018-02-22 | 2023-08-11 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN109933751A (zh) * | 2019-03-20 | 2019-06-25 | 腾讯科技(深圳)有限公司 | 图文绘制方法、装置、计算机可读存储介质和计算机设备 |
CN109933751B (zh) * | 2019-03-20 | 2021-07-20 | 腾讯科技(深圳)有限公司 | 图文绘制方法、装置、计算机可读存储介质和计算机设备 |
CN111241793A (zh) * | 2020-02-17 | 2020-06-05 | 湖南快乐阳光互动娱乐传媒有限公司 | 解析富文本编辑器内容给原生客户端渲染的方法、系统及介质 |
CN111241793B (zh) * | 2020-02-17 | 2023-12-08 | 湖南快乐阳光互动娱乐传媒有限公司 | 解析富文本编辑器内容给原生客户端渲染的方法、系统及介质 |
CN112748928A (zh) * | 2020-12-30 | 2021-05-04 | 平安普惠企业管理有限公司 | 富文本数据处理方法、装置、计算机设备及存储介质 |
CN115577683A (zh) * | 2022-11-23 | 2023-01-06 | 中国人民解放军国防科技大学 | 一种html富文本内容转换方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102799592B (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799592A (zh) | 富文本文档的解析方法和系统 | |
CN101361063B (zh) | 支持基于规则的文档内容挖掘的系统与方法 | |
CN100565524C (zh) | 一种保存网页内容的系统、方法及浏览器 | |
CN101025738A (zh) | 一种免模板动态网站生成方法 | |
CN103389969A (zh) | 一种用于移动终端预览pdf文件的方法、装置和系统 | |
CN101727490A (zh) | Web应用中实现页面插件化的方法和web服务器 | |
CN102163233A (zh) | 一种网页标记语言格式转换方法及系统 | |
CN109492177B (zh) | 一种基于网页语义结构的网页分块方法 | |
CN104281601B (zh) | 构建超大字库的方法及装置、字符显示方法及装置 | |
CN102647414A (zh) | 协议解析方法、设备及系统 | |
CN101963954A (zh) | 一种文字显示的方法及装置 | |
CN105630817A (zh) | 一种电子发票内容解析的方法及系统 | |
CN103902918B (zh) | 一种从Word文档中快速提取文字格式的方法和装置 | |
CN102065234A (zh) | 基于分布式字幕处理系统的字幕制播方法及系统 | |
CN102831190A (zh) | 一种在低端设备上浏览cml文件的方法 | |
US12056434B2 (en) | Generating tagged content from text of an electronic document | |
US20120193424A1 (en) | Method of encoding and decoding data on a matrix code symbol | |
CN111611776B (zh) | 一种兼容版流文档内容并支持同步阅读的方法和装置 | |
US20130104033A1 (en) | Description method, exi decoder and computer readable medium | |
CN106777281B (zh) | 用于提高网络爬虫稳定性、可用性的数据处理方法及装置 | |
CN101673299A (zh) | 一种erp系统及其数据搜索方法和装置 | |
CN102306163A (zh) | 一种基于b2b平台的动态集成技术 | |
US8656371B2 (en) | System and method of report representation | |
CN101013430A (zh) | 搜索方法及装置 | |
CN102243663A (zh) | 一种基于电子图纸的动态标注方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |