CN102799592B - 富文本文档的解析方法和系统 - Google Patents
富文本文档的解析方法和系统 Download PDFInfo
- Publication number
- CN102799592B CN102799592B CN201110139213.9A CN201110139213A CN102799592B CN 102799592 B CN102799592 B CN 102799592B CN 201110139213 A CN201110139213 A CN 201110139213A CN 102799592 B CN102799592 B CN 102799592B
- Authority
- CN
- China
- Prior art keywords
- rich text
- text document
- label
- customized label
- analytic method
- 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.)
- Active
Links
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 (6)
1.一种富文本文档的解析方法,包括以下步骤:
定义富文本文档中的自定义标签,自定义标签用于标记富文本格式信息;
定义与所述自定义标签一一对应的解析方法,采用第一数组定义所述富文本文档中的自定义标签,采用第二数组定义所述解析方法,所述第二数组中的数据元素与所述第一数组中的数据元素按顺序一一对应;
在所述富文本文档中循环查找所述自定义标签;
调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;
解析所述标准富文本文档,所述标准富文本文档采用标准标签库来标记富文本格式的信息,采用传统的控件进行解析。
2.根据权利要求1所述的富文本文档的解析方法,其特征在于,所述在富文本文档中循环查找所述自定义标签的步骤为:
在富文本文档中查找得到所述自定义标签的起始位置和结束位置。
3.根据权利要求2所述的富文本文档的解析方法,其特征在于,所述根据所述解析方法将查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块的步骤为:
将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述富文本文档中的所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块。
4.一种富文本文档的解析系统,其特征在于,包括:
标签定义模块,用于定义富文本文档中的自定义标签,自定义标签用于标记富文本格式信息,采用第一数组存储所述富文本文档中的自定义标签;
解析方法定义模块,用于定义与所述自定义标签一一对应的解析方法,采用第二数组存储所述解析方法,所述第一数组中的数据元素与所述第一数组中的数据元素按顺序一一对应;
查找模块,用于在富文本文档中循环查找所述自定义标签;
转换模块,用于调用与所述查找到的自定义标签对应的解析方法,根据所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的标准标签标记的文本块,生成标准富文本文档;
解析模块,用于解析所述标准富文本文档,所述标准富文本文档采用标准标签库来标记富文本格式的信息,采用传统的控件进行解析。
5.根据权利要求4所述的富文本文档的解析系统,其特征在于,所述查找模块还用于在富文本文档中查找所述自定义标签在所述富文本文档中的起始位置和结束位置。
6.根据权利要求5所述的富文本文档的解析系统,其特征在于,所述转换模块将所述富文本文档、所述自定义标签的起始位置和结束位置作为参数传递给所述解析方法,使用所述解析方法将所述查找到的自定义标签标记的文本块转换为对应的采用标准标签标记的文本块。
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 CN102799592A (zh) | 2012-11-28 |
CN102799592B true 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) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279559A (zh) * | 2013-06-13 | 2013-09-04 | 北京神鹰城讯科技有限公司 | 基于安卓系统的富文本编辑方法及富文本编辑器 |
CN104516927B (zh) | 2013-09-30 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 文档处理方法、装置和终端 |
CN103530407B (zh) * | 2013-10-25 | 2017-01-25 | 中国农业银行股份有限公司 | 一种富文本文档的生成方法与装置 |
CN104750669A (zh) * | 2013-12-30 | 2015-07-01 | 珠海金山办公软件有限公司 | 一种待粘贴对象的处理方法及装置 |
CN104360848B (zh) * | 2014-10-29 | 2018-09-04 | 中国建设银行股份有限公司 | 一种Flex页面转化方法及装置 |
CN105843787B (zh) * | 2016-03-24 | 2018-08-21 | 武汉斗鱼网络科技有限公司 | 一种富文本编辑方法及系统 |
CN110018863B (zh) * | 2018-01-09 | 2022-05-10 | 武汉斗鱼网络科技有限公司 | 一种移动端文本显示方法、存储介质、设备及系统 |
CN110188326B (zh) * | 2018-02-22 | 2023-08-11 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN109933751B (zh) * | 2019-03-20 | 2021-07-20 | 腾讯科技(深圳)有限公司 | 图文绘制方法、装置、计算机可读存储介质和计算机设备 |
CN111241793B (zh) * | 2020-02-17 | 2023-12-08 | 湖南快乐阳光互动娱乐传媒有限公司 | 解析富文本编辑器内容给原生客户端渲染的方法、系统及介质 |
CN115577683B (zh) * | 2022-11-23 | 2023-04-28 | 中国人民解放军国防科技大学 | 一种html富文本内容转换方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609399A (zh) * | 2008-06-20 | 2009-12-23 | 鸿富锦精密工业(深圳)有限公司 | 基于建模的智能化网站开发系统及方法 |
CN101751461A (zh) * | 2009-12-30 | 2010-06-23 | 中兴通讯股份有限公司 | 一种文档转换方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870238B2 (en) * | 2008-02-15 | 2011-01-11 | !J Incorporated | Vendor-independent network configuration tool |
-
2011
- 2011-05-26 CN CN201110139213.9A patent/CN102799592B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609399A (zh) * | 2008-06-20 | 2009-12-23 | 鸿富锦精密工业(深圳)有限公司 | 基于建模的智能化网站开发系统及方法 |
CN101751461A (zh) * | 2009-12-30 | 2010-06-23 | 中兴通讯股份有限公司 | 一种文档转换方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102799592A (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799592B (zh) | 富文本文档的解析方法和系统 | |
CN107451296B (zh) | 一种基于组件的网站模块化渲染方法 | |
US7315867B2 (en) | Document processing apparatus, document processing method, document processing program, and recording medium | |
CN105447099B (zh) | 日志结构化信息提取方法及装置 | |
US7680333B2 (en) | System and method for binary persistence format for a recognition result lattice | |
CN102982010B (zh) | 提取文档结构的方法和装置 | |
JP4997749B2 (ja) | 文書処理方法、プログラム及びシステム | |
CN103559322B (zh) | 文档格式转换方法 | |
US20050144556A1 (en) | XML schema token extension for XML document compression | |
CN101593186B (zh) | 可视化网站编辑方法及可视化网站编辑系统 | |
HRP20030524A2 (en) | Word-processing document stored in a single xml file | |
CN103970820B (zh) | Web多媒体资源开放标注数据的可视化方法及装置 | |
CN106339498A (zh) | 数据同步方法、装置和系统 | |
CN103593457B (zh) | 文档格式转换方法 | |
CN101504662A (zh) | 一种转换数据的方法及装置 | |
CN102411602B (zh) | 一种基于 fpga 实现的xml 并行投机解析方法 | |
CN115562642A (zh) | 基于数据库和Mustache模板引擎的生成代码方法 | |
CN107438194A (zh) | 一种智能电视ui对象绘制方法及智能电视 | |
CN107526717A (zh) | 一种将结构化流程模型自动生成自然语言文本的方法 | |
CN106649428A (zh) | 存储文件的解析方法和装置 | |
CN101013430A (zh) | 搜索方法及装置 | |
CN109241510A (zh) | 一种基于微信小程序的自动图表生成系统及其实现方法 | |
CN103605806B (zh) | 可配置的结构化数据组织方式的实现方法 | |
CN107222583A (zh) | 一种融合结构化数据和非结构化数据的数据传输方法 | |
CN101996161B (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 |