CN113961244A - 一种页面转换方法、装置、设备及存储介质 - Google Patents

一种页面转换方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113961244A
CN113961244A CN202111575709.0A CN202111575709A CN113961244A CN 113961244 A CN113961244 A CN 113961244A CN 202111575709 A CN202111575709 A CN 202111575709A CN 113961244 A CN113961244 A CN 113961244A
Authority
CN
China
Prior art keywords
converted
file
page
conversion
files
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
Application number
CN202111575709.0A
Other languages
English (en)
Other versions
CN113961244B (zh
Inventor
欧阳文凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Mingyuan Cloud Technology Co Ltd
Original Assignee
Shenzhen Mingyuan Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Mingyuan Cloud Technology Co Ltd filed Critical Shenzhen Mingyuan Cloud Technology Co Ltd
Priority to CN202111575709.0A priority Critical patent/CN113961244B/zh
Publication of CN113961244A publication Critical patent/CN113961244A/zh
Application granted granted Critical
Publication of CN113961244B publication Critical patent/CN113961244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种页面转换方法、装置、设备及存储介质,属于计算机技术领域。本发明通过接收到页面转换请求时,获取待转换页面所在的第一存储目录;扫描所述第一存储目录中的所有文件,获取待转换文件;根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;根据所述目标转换文件,生成所述目标转换页面。本发明解决了目前在进行页面转换时,需要对页面中不兼容的文件逐个手动进行修改,存在开发工作量大,工作效率低的问题,实现了页面的高效自动转换,减少了开发工作量,提高了工作效率。

Description

一种页面转换方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种页面转换方法、装置、设备及存储介质。
背景技术
过去在进行Web(World Wide Web,万维网)应用***进行开发时,主要是基于.NETFramework框架,.NET Framework 是用于运行 Web服务与Windows应用程序的多语言环境,由于在不同的设备和平台上运行需要使用不同的类似.NET Framework 的框架,对开发者来说不一样的设备即便功能相同也需要维护多套代码,增加了开发的复杂度。因此,.NETCore框架应运而生,.NET Core可在不同的操作***上运行,包括Windows、linux、MacOS,实现了跨平台跨设备。此外,.NET Core 在发布程序时不用事先安装Framework而是通过Nuget(一个自由软件开源包管理***)下载,这样在初次部署时就不用安装一个复杂而庞大Framework,而是按需下载。
基于上述优点,再加上跨平台支持的需求,人们开始使用.NET Core开发Web应用***。但由于之前的Web应用***都是基于.NET Framework框架开发的,因此,需要将这些Web应用***改造为.NET Core版本。由于.NET Core中部分页面使用的是.cshtml扩展名文件,不再支持.NET Framework中部分页面所使用的.aspx、.ascx扩展名文件,因此,为了实现应用***从.NET Framework到.NET Core版本的迁移,需要对原来的Web应用***中的部分页面进行转换。但目前在进行页面转换时,需要对页面中不兼容的文件逐个手动进行修改,存在开发工作量大,工作效率低的问题。
发明内容
本发明的主要目的在于提供一种页面转换方法,旨在解决目前在进行页面转换时,需要对页面中不兼容的文件逐个手动进行修改,存在开发工作量大,工作效率低的问题。
为实现上述目的,本发明提供一种页面转换方法、装置、设备及可读存储介质,所述页面转化方法包括以下步骤:
接收到页面转换请求时,获取待转换页面所在的第一存储目录;
扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;
根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;
根据所述目标转换文件,生成所述目标转换页面。
可选地,所述扫描所述第一存储目录中的所有文件,获取待转换文件步骤,包括:
扫描所述第一存储目录中的所有文件,识别出所述第一存储目录中的所述待转换页面;
根据预设的白名单规则对所述待转换页面中的全部文件进行过滤,获取所述待转换文件,其中,所述白名单规则用于过滤掉所述待转换页面中无需转换的文件。
可选地,所述根据预设的白名单规则对所述待转换页面中的全部文件进行过滤步骤之后,还包括:
获取所述待转换页面中根据所述白名单规则而被过滤的所有所述无需转换文件,根据各所述无需转换文件,生成无需转换文件清单。
可选地,所述将节点成功转换后的所述待转换文件作为目标转换文件步骤之后,还包括:
获取所有的所述目标转换文件,以生成转换成功文件清单;
获取所有的节点转换失败的所述待转换文件,以生成转换失败文件清单。
可选地,所述根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件,包括:
识别并解析组成所述待转换文件的每一个节点的类型,根据各所述节点的类型生成结构化文档;
根据预设映射规则对所述结构化文档中的每一个节点进行转换,将节点成功转换后的所述待转换文件作为所述目标转换文件。
可选地,所述根据预设映射规则对所述待转换文件中的每个节点进行转换,从而生成目标转换文件步骤之前,还包括:
获取所述预设映射规则所在的第二存储目录;
扫描所述第二存储目录,获取包含所述映射规则的动态链接库文件;
解析所述动态链接库文件,获取所述映射规则,其中,所述映射规则包含***规则和自定义规则,自定义规则是通过可插拔式的方式定义的映射规则,即通过删除或添加包含所述自定义规则的动态链接库文件定义的映射规则。
可选地,所述根据所述目标转换文件,生成所述目标转换页面步骤,包括:
获取所述目标转换页面所在的第三存储目录;
将所述目标转换文件存储至所述第三存储目录;
解析渲染存储了所述目标转换文件后的所述第三存储目录中的所有文件,从而生成所述目标转换页面。
此外,为实现上述目的,本发明还提供一种页面转换装置,其特征在于,所述装置包括:
接收模块,用于接收到页面转换请求时,获取待转换页面所在的第一存储目录;
识别模块,用于扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;
转换模块,用于根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;
渲染模块,用于根据所述目标转换文件,生成所述目标转换页面步骤。
可选地,所述识别模块还用于:
扫描所述第一存储目录中的所有文件,识别出所述第一存储目录中的所述待转换页面;
根据预设的白名单规则对所述待转换页面中的全部文件进行过滤,获取所述待转换文件,其中,所述白名单规则用于过滤掉所述待转换页面中无需转换的文件。
可选地,所述转换模块还用于:
识别并解析组成所述待转换文件的每一个节点的类型,根据各所述节点的类型生成结构化文档;
根据预设映射规则对所述结构化文档中的每一个节点进行转换,将节点成功转换后的所述待转换文件作为所述目标转换文件。
可选地,所述渲染模块还用于:
获取所述目标转换页面所在的第三存储目录;
将所述目标转换文件存储至所述第三存储目录;
解析渲染存储了所述目标转换文件后的所述第三存储目录中的所有文件,从而生成所述目标转换页面。
可选地,所述装置还包括:
获取模块,用于获取所述预设映射规则所在的第二存储目录;
扫描所述第二存储目录,获取包含所述映射规则的动态链接库文件;
解析所述动态链接库文件,获取所述映射规则,其中,所述映射规则包含***规则和自定义规则,自定义规则是通过可插拔式的方式定义的映射规则,即通过删除或添加包含所述自定义规则的动态链接库文件定义的映射规则。
可选地,所述装置还包括:
生成模块,用于获取所述待转换页面中根据所述白名单规则而被过滤的所有所述无需转换文件,根据各所述无需转换文件,生成无需转换文件清单。
可选地,所述生成模块,还用于:
获取所有的所述目标转换文件,以生成转换成功文件清单;
获取所有的节点转换失败的所述待转换文件,以生成转换失败文件清单。
本发明还提供一种页面转换设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的页面转换程序,所述页面转换程序配置为实现如上述的页面转换方法的步骤。
本发明还提供一种存储介质,所述存储介质上存储有页面转换程序,所述页面转换程序被处理器执行时实现如上述的页面转换方法的步骤。
本发明通过接收到页面转换请求时,获取待转换页面所在的第一存储目录;扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;根据所述目标转换文件,生成所述目标转换页面。解决了目前在进行页面转换时,需要对页面中不兼容的文件逐个手动进行修改,存在开发工作量大,工作效率低的问题。实现了页面的高效自动转换,减少了开发工作量,提高了工作效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端设备的结构示意图;
图2是本发明一实施例的流程示意图;
图3为图2中步骤S30一实施例的细化流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。
如图1所示,该终端设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及页面转换程序。
在图1所示的终端设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明终端设备中的处理器1001、存储器1005可以设置在终端设备中,终端设备通过处理器1001调用存储器1005中存储的页面转换程序,并执行以下操作:
接收到页面转换请求时,获取待转换页面所在的第一存储目录;
扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;
根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;
根据所述目标转换文件,生成所述目标转换页面。
进一步地,处理器1001可以用于调用存储器1005中存储的页面转换程序,还执行以下操作:
扫描所述第一存储目录中的所有文件,获取待转换文件步骤,包括:
扫描所述第一存储目录中的所有文件,识别出所述第一存储目录中的所述待转换页面;
根据预设的白名单规则对所述待转换页面中的全部文件进行过滤,获取所述待转换文件,其中,所述白名单规则用于过滤掉所述待转换页面中无需转换的文件。
进一步地,处理器1001可以用于调用存储器1005中存储的页面转换程序,还执行以下操作:
根据预设的白名单规则对所述待转换页面中的全部文件进行过滤步骤之后,还包括:
获取所述待转换页面中根据所述白名单规则而被过滤的所有所述无需转换文件,根据各所述无需转换文件,生成无需转换文件清单。
进一步地,处理器1001可以用于调用存储器1005中存储的页面转换程序,还执行以下操作:
将节点成功转换后的所述待转换文件作为目标转换文件步骤之后,还包括:
获取所有的所述目标转换文件,以生成转换成功文件清单;
获取所有的节点转换失败的所述待转换文件,以生成转换失败文件清单。
进一步地,处理器1001可以用于调用存储器1005中存储的页面转换程序,还执行以下操作:
根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件,包括:
识别并解析组成所述待转换文件的每一个节点的类型,根据各所述节点的类型生成结构化文档;
根据预设映射规则对所述结构化文档中的每一个节点进行转换,将节点成功转换后的所述待转换文件作为所述目标转换文件。
进一步地,处理器1001可以用于调用存储器1005中存储的页面转换程序,还执行以下操作:
根据预设映射规则对所述待转换文件中的每个节点进行转换,从而生成目标转换文件步骤之前,还包括:
获取所述预设映射规则所在的第二存储目录;
扫描所述第二存储目录,获取包含所述映射规则的动态链接库文件;
解析所述动态链接库文件,获取所述映射规则,其中,所述映射规则包含***规则和自定义规则,自定义规则是通过可插拔式的方式定义的映射规则,即通过删除或添加包含所述自定义规则的动态链接库文件定义的映射规则。
进一步地,处理器1001可以用于调用存储器1005中存储的页面转换程序,还执行以下操作:
根据所述目标转换文件,生成所述目标转换页面步骤,包括:
获取所述目标转换页面所在的第三存储目录;
将所述目标转换文件存储至所述第三存储目录;
解析渲染存储了所述目标转换文件后的所述第三存储目录中的所有文件,从而生成所述目标转换页面。
目前在对应用***中的页面进行转换时,需要手动对页面中不兼容的文件逐个进行修改。在此过程中,由于这些不兼容的文件数量较大,且存储的位置不固定,因此,在手动进行修改时,需要先在数量巨大的所有***文件中筛选出所有不兼容的文件,再逐个进行手动修改。除了存在开发工作量大,工作效率低的问题,还存在容易出现错漏的问题。
为了解决上述问题,本发明提供了一种页面转换方法,包括:接收到页面转换请求时,获取待转换页面所在的第一存储目录;扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;根据所述目标转换文件,生成所述目标转换页面。本方法通过扫描待转换页面所在的第一存储目录,获得待转换文件;再根据预设映射规则对组成待转换文件的每个节点进行转换,从而完成了对不兼容文件的修改,不用再手动逐个进行修改,完成了页面的高效自动转换,实现了在减少开发工作量的同时,减少出错率,并提高工作效率的技术效果。
本发明实施例提供了一种页面转换方法,参照图2,图2为本发明一种页面转换方法一实施例的流程示意图。
本实施例中,所述页面转换方法包括:
步骤S10:接收到页面转换请求时,获取待转换页面所在的第一存储目录。
在本实施例中,页面转换是指通过转换页面中的文件,可将一种页面转换为另一种页面,例如,通过将WebForms页面中的.aspx、.ascx扩展名文件转换为.cshtml扩展名文件,从而实现了将WebForms页面转换为Razor页面;此时,WebForms页面即为待转换页面。
第一存储目录是指存储了待转换页面的文件目录,其中,文件目录是为了便于对计算机***中成千上万的文件进行存取和管理,计算机***所建立文件的索引,即文件名和文件物理位置之间的映射关系。在进行页面转换时,通过接收用户输入的输入目录,可获取待转换页面所在的第一存储目录的文件夹名及其所在的位置。例如,用户输入的目录为:D:\myFile,则此时获取的第一存储目录为:D:\myFile,表示待转换页面所在的文件夹名为“myFile”,所在的位置为D盘。
步骤S20:扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件。
在本实施例中,预设的目标转换页面是指,进行页面转换时,所需要的得到的页面,例如,将WebForms页面转换为Razor页面时,目标转换页面即为Razor页面。将所述待转换页面转换为预设的目标转换页面所需转换的文件,也就是页面转换过程中,待转换页面中与目标转换页面不兼容而需要修改的文件,例如,将WebForms页面转换为Razor页面时,待转换文件为WebForms页面中的.aspx、.ascx扩展名文件,即需要获取的是第一存储目录中的.aspx、.ascx扩展名文件。
可选地,步骤S20,扫描所述第一存储目录中的所有文件,获取待转换文件,包括:
步骤S21,扫描所述第一存储目录中的所有文件,识别出所述第一存储目录中的所述待转换页面。
在本实施例中,由于第一存储目录中的所有文件,除了包含待转换页面外,还包含一些其它的***文件,而这些文件并不需要进行处理,因此,只需要识别出第一存储目录中的待转换页面。
步骤S22,根据预设的白名单规则对所述待转换页面中的全部文件进行过滤,获取所述待转换文件,其中,所述白名单规则用于过滤掉所述待转换页面中无需转换的文件。
在本实施例中,由于待转换页面中通常包含许多类型的文件,而需要进行转换的仅仅是与目标转换页面不兼容的文件,因此,需要利用白名单规则来对所有文件进行过滤。其中,白名单规则是通过设置不能通过的文件来对所有文件进行过滤,即过滤掉的是待转换页面中无需转换的文件,识别出的则是需要转换的待转换文件。
本实施例中,通过对第一存储目录中的所有文件进行识别和过滤,从而可精确获得所有待转换页面中的待转换文件,有效减少了开发工作量,且有利于减少出现错漏的情况。
可选地,步骤S22,根据预设的白名单规则对所述待转换页面中的全部文件进行过滤之后,还包括:
步骤S221,获取所述待转换页面中根据所述白名单规则而被过滤的所有所述无需转换文件,根据各所述无需转换文件,生成无需转换文件清单。
在本实施例中,无需转换文件包含了待转换页面中除待转换文件之外的所有文件,无需转换文件清单则是对这些文件进行统计,并生成一个清单列表。通过生成无需转换文件清单,可以清楚的看见哪些文件没有进行转换,有利于完成页面转换后的后期维护工作,若页面转换过程中出现错误,也便于查漏补缺。
步骤S30:根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件。
在本实施例中,预设映射规则是指将组成待转换文件中的每个节点与组成目标转换文件的每个节点一一对应进行转换的规则,由待转换文件和目标转换文件共同决定。其中,节点是组成文件的最小结构单元,有多种类型,例如文件头信息、服务器控件、样式信息、脚本信息、嵌入式代码块、注释等。
步骤S40:根据所述目标转换文件,生成所述目标转换页面。
在本实施例中,根据转换得到的目标转换文件,结合其它***文件,通过浏览器对这些文件进行解析渲染即可最终生成目标转换页面。
可选地,步骤S40,根据所述目标转换文件,生成所述目标转换页面,包括:
步骤S41,获取所述目标转换页面所在的第三存储目录。
在本实施例中,第三存储目录是目标转换页面所在的文件目录,用于存储所得到的目标转换文件。通过在接收到页面转换请求时,用户输入的输出目录获得。
步骤S42,将所述目标转换文件存储至所述第三存储目录。
在本实施例中,可以通过在第三存储目录中新建一个文件夹,将所有目标转换文件发送至这个新建的文件夹中,从而实现将目标转换文件存储至第三存储目录。
步骤S43,解析渲染存储了所述目标转换文件后的所述第三存储目录中的所有文件,从而生成所述目标转换页面。
在本实施例中,由于在完成对待转换文件的转换后,还只是得到了目标转换文件,因此,还需要进一步对这些文件进行解析渲染,才能生成目标转换页面。其中,解析渲染是指浏览器获取并解析所有文件,并根据这些文件进行渲染,从而将这些文件转化成一个完整的页面的过程。
本实施例中,通过将得到的目标转换文件存储至第三存储目录中,再对第三存储目录中的所有文件解析渲染,从而实现了最终页面的自动转换过程。
本实施例通过在接收到页面转换请求时,获取待转换文件,根据预设映
射规则对组成待转换文件的每个节点进行转换,得到目标转换文件,并根据
目标转换文件生成目标转换页面。实现了页面的高效自动转换,使得在进行页面转换时,不用再手动对待转换文件逐个进行修改,减少开发工作量的同时,还能有效减少出错率,大大提高了工作效率。
进一步地,在本发明一种页面转换方法的另一实施例中,步骤S30,根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件,参照图3,包括:
步骤S31,识别并解析组成所述待转换文件的每一个节点的类型,根据各所述节点的类型生成结构化文档。
在本实施例中,结构化是指为文档建立一个框架,使得文档的每一部分都按一定的逻辑结构紧密联系起来,其中,结构化文档则是指将组成待转换文件的所有节点,根据其节点类型生成结构化文档,以便于后续对所有节点的快速转换。
步骤S32,根据预设映射规则对所述结构化文档中的每一个节点进行转换,将节点成功转换后的所述待转换文件作为所述目标转换文件。
在本实施例中,为了更好理解,下面举例进行说明,参照表1,表1为本发明一实施例中的预设映射规则的表格。假设此时需要将WebForms视图页面转换为Razor页面,则此时的预设映射规则如表1所示:
WebForms视图页面 .cshtml页面
文件头信息 <%@%> @
服务器控件 <asp:content /> @section
样式信息 <link rel="stylesheet" /> <app-css />
脚本信息 <script type="text/seajs" /> <app-sea-js />
嵌入式代码块 <%%> @{}
注释 /* */ @* *@
自定义控件AppGrid <cnt:AppGrid /> <app-grid />
自定义控件AppForm <cnt:AppForm /> <app-form />
表1
此时,待转换文件为WebForms视图页面中的.aspx、.ascx扩展名文件,再根据中映射规则对.aspx、.ascx文件的文件头信息、服务器控件等节点进行转换,例如:将.aspx文件的文件头信息由“<%@%>”转换为“@”;将.aspx文件的注释由“/**/”转换为“@**@”等。则将组成.aspx、.ascx文件所有节点转换成功后,可得到目标转换文件,即为Razor页面中的.cshtml扩展名文件。
本实施例中,通过识别并解析组成待转换文件的每一个节点的类型,生成一个结构化文档,再根据映射规则对结构化文档中的所有节点进行转换,实现了对所有的节点的快速转换,有利于减少转换时间,从而提高转换效率。
可选地,步骤S32,根据预设映射规则对所述结构化文档中的每一个节点进行转换,将节点成功转换后的所述待转换文件作为所述目标转换文件之前,还包括:
步骤S321,获取所述预设映射规则所在的第二存储目录。
在本实施例中,第二存储目录是存储有包含预设映射规则文件的文件目录。
步骤S322,扫描所述第二存储目录,获取包含所述映射规则的动态链接库文件。
在本实施例中,动态链接库文件即为dll文件,是由用户根据页面转换的实际需求所提前编译的文件。
步骤S323,解析所述动态链接库文件,获取所述映射规则,其中,所述映射规则包含***规则和自定义规则,自定义规则是通过可插拔式的方式定义的映射规则,即通过删除或添加包含所述自定义规则的动态链接库文件定义的映射规则。
在本实施例中,***规则是指要完成页面转换所必须定义的映射规则,而自定义规则是用户根据自身需求所定义的映射规则,例如,可在页面转换过程中添加自定义控件,从而在页面中添加所需要的功能。相应的,***规则和自定义规则各有其相对应的dll文件,其中,***规则文件是必须的,自定义规则文件可根据实际需求添加。可插拔方式则是指通过删除或添加文件来定义映射规则,即若在第二存储目录中添加了包含自定义规则的dll文件时,此时的映射规则包含***规则和自定义规则,则需要同时应用这两种规则来完成页面的转换;若在第二存储目录中删除了包含自定义规则的dll文件时,则只会应用***规则来完成页面的转换。
本实施例通过在第二存储目录中,提前存储包含预设映射规则的文件,而预设的映射规则文件是根据实际需求提前编译的,则针对不同的页面转换需求,可以预设不同的映射规则,从而实现不同页面之间的转换。此外,还可通过可插拔方式自定义映射规则,从而可在页面转换过程中,通过自定义控件的方式,在页面中添加所需要的功能。
进一步地,在本发明一种页面转换方法的另一实施例中,步骤S30,将节点成功转换后的所述待转换文件作为目标转换文件步骤之后,还包括:
步骤S31,获取所有的所述目标转换文件,以生成转换成功文件清单。
在本实施例中,目标转换文件即为节点成功转换后的待转换文件,对这些文件进行统计,从而生成转换成功文件清单。
步骤S32,获取所有的节点转换失败的所述待转换文件,以生成转换失败文件清单。
在本实施例中,转换失败清单即由于节点转换失败而未进行转换的待转换文件的清单,为了保证页面的成功转换,可以将转换失败清单交由人工进行转换。为了更好理解,下面举例说明,例如有100个待转换文件,其中有90个待转换文件的节点转换成功,从而得到了90个目标转换文件,则此时的转换成功文件清单,就是由这90个目标转换文件生成的清单;剩下的十个待转换文件,由于节点转换失败而未进行转换,则此时的转换失败文件清单,就是由这十个待转换文件组成的清单。
本实施例通过生成转换成功清单和转换失败清单,使得在页面自动转换过程中出错时,可精准定位转换失败的文件,保证了页面转换的成功完成,与此同时,由于有清单,后期进行维护工作时,可以直接根据清单进行人工修改维护,降低了工作量,提高了工作效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种页面转换方法,其特征在于,所述页面转换方法包括以下步骤:
接收到页面转换请求时,获取待转换页面所在的第一存储目录;
扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;
根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;
根据所述目标转换文件,生成所述目标转换页面。
2.如权利要求1所述的一种页面转换方法,其特征在于,所述扫描所述第一存储目录中的所有文件,获取待转换文件步骤,包括:
扫描所述第一存储目录中的所有文件,识别出所述第一存储目录中的所述待转换页面;
根据预设的白名单规则对所述待转换页面中的全部文件进行过滤,获取所述待转换文件,其中,所述白名单规则用于过滤掉所述待转换页面中无需转换的文件。
3.如权利要求2所述的一种页面转换方法,其特征在于,所述根据预设的白名单规则对所述待转换页面中的全部文件进行过滤步骤之后,还包括:
获取所述待转换页面中根据所述白名单规则而被过滤的所有无需转换文件,根据各所述无需转换文件,生成无需转换文件清单。
4.如权利要求1-3任一项所述的一种页面转换方法,其特征在于,所述将节点成功转换后的所述待转换文件作为目标转换文件步骤之后,还包括:
获取所有的所述目标转换文件,以生成转换成功文件清单;
获取所有的节点转换失败的所述待转换文件,以生成转换失败文件清单。
5.如权利要求4所述的一种页面转换方法,其特征在于,所述根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件,包括:
识别并解析组成所述待转换文件的每一个节点的类型,根据各所述节点的类型生成结构化文档;
根据预设映射规则对所述结构化文档中的每一个节点进行转换,将节点成功转换后的所述待转换文件作为所述目标转换文件。
6.如权利要求5所述的一种页面转换方法,其特征在于,所述根据预设映射规则对所述待转换文件中的每个节点进行转换,从而生成目标转换文件步骤之前,还包括:
获取所述预设映射规则所在的第二存储目录;
扫描所述第二存储目录,获取包含所述映射规则的动态链接库文件;
解析所述动态链接库文件,获取所述映射规则,其中,所述映射规则包含***规则和自定义规则,自定义规则是通过可插拔式的方式定义的映射规则,即通过删除或添加包含所述自定义规则的动态链接库文件定义的映射规则。
7.如权利要求6所述的一种页面转换方法,其特征在于,所述根据所述目标转换文件,生成所述目标转换页面步骤,包括:
获取所述目标转换页面所在的第三存储目录;
将所述目标转换文件存储至所述第三存储目录;
解析渲染存储了所述目标转换文件后的所述第三存储目录中的所有文件,从而生成所述目标转换页面。
8.一种页面转换装置,其特征在于,所述装置包括:
接收模块,用于接收到页面转换请求时,获取待转换页面所在的第一存储目录;
识别模块,用于扫描所述第一存储目录中的所有文件,获取待转换文件,其中,所述待转换文件为所述待转换页面中,将所述待转换页面转换为预设的目标转换页面所需转换的文件;
转换模块,用于根据预设映射规则对组成所述待转换文件的每个节点进行转换,将节点成功转换后的所述待转换文件作为目标转换文件;
渲染模块,用于根据所述目标转换文件,生成所述目标转换页面步骤。
9.一种页面转换设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的页面转换程序,所述页面转换程序配置为实现如权利要求1-7中任一项所述的页面转换方法步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有页面转换程序,所述页面转换程序被处理器执行时实现如权利要求1-7任一项所述的页面转换方法的步骤。
CN202111575709.0A 2021-12-22 2021-12-22 一种页面转换方法、装置、设备及存储介质 Active CN113961244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111575709.0A CN113961244B (zh) 2021-12-22 2021-12-22 一种页面转换方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111575709.0A CN113961244B (zh) 2021-12-22 2021-12-22 一种页面转换方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113961244A true CN113961244A (zh) 2022-01-21
CN113961244B CN113961244B (zh) 2022-04-08

Family

ID=79473600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111575709.0A Active CN113961244B (zh) 2021-12-22 2021-12-22 一种页面转换方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113961244B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976235A (zh) * 2010-09-21 2011-02-16 天津神舟通用数据技术有限公司 基于动态网页的可扩展的Word报告自动生成方法
JP2011053890A (ja) * 2009-09-01 2011-03-17 Fujifilm Corp 文書リンク変換サーバ、文書リンク変換システム及び文書リンク変換方法
CN102110196A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 并行运行多用户操作***间的数据安全传输方法及***
CN102163233A (zh) * 2011-04-18 2011-08-24 北京神州数码思特奇信息技术股份有限公司 一种网页标记语言格式转换方法及***
US20140258258A1 (en) * 2013-03-08 2014-09-11 Kirk Steven Tecu Method and system for file conversion
CN110018984A (zh) * 2017-10-31 2019-07-16 北京国双科技有限公司 一种文件格式的转换方法及装置
CN110083359A (zh) * 2019-03-20 2019-08-02 视联动力信息技术股份有限公司 一种部署方法和装置
CN110633251A (zh) * 2019-08-02 2019-12-31 深圳木成林科技有限公司 一种文件转换方法及设备
CN110795099A (zh) * 2019-09-03 2020-02-14 五八有限公司 一种页面样式转换方法、装置、终端设备及存储介质
CN111913695A (zh) * 2020-08-07 2020-11-10 国网信息通信产业集团有限公司 一种代码转换方法、装置和存储介质
CN113254405A (zh) * 2021-06-01 2021-08-13 京东科技控股股份有限公司 文件转换方法、装置、设备和介质
WO2021221856A1 (en) * 2020-04-30 2021-11-04 Microsoft Technology Licensing, Llc Browser based visual debugging

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011053890A (ja) * 2009-09-01 2011-03-17 Fujifilm Corp 文書リンク変換サーバ、文書リンク変換システム及び文書リンク変換方法
CN102110196A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 并行运行多用户操作***间的数据安全传输方法及***
CN101976235A (zh) * 2010-09-21 2011-02-16 天津神舟通用数据技术有限公司 基于动态网页的可扩展的Word报告自动生成方法
CN102163233A (zh) * 2011-04-18 2011-08-24 北京神州数码思特奇信息技术股份有限公司 一种网页标记语言格式转换方法及***
US20140258258A1 (en) * 2013-03-08 2014-09-11 Kirk Steven Tecu Method and system for file conversion
CN110018984A (zh) * 2017-10-31 2019-07-16 北京国双科技有限公司 一种文件格式的转换方法及装置
CN110083359A (zh) * 2019-03-20 2019-08-02 视联动力信息技术股份有限公司 一种部署方法和装置
CN110633251A (zh) * 2019-08-02 2019-12-31 深圳木成林科技有限公司 一种文件转换方法及设备
CN110795099A (zh) * 2019-09-03 2020-02-14 五八有限公司 一种页面样式转换方法、装置、终端设备及存储介质
WO2021221856A1 (en) * 2020-04-30 2021-11-04 Microsoft Technology Licensing, Llc Browser based visual debugging
CN111913695A (zh) * 2020-08-07 2020-11-10 国网信息通信产业集团有限公司 一种代码转换方法、装置和存储介质
CN113254405A (zh) * 2021-06-01 2021-08-13 京东科技控股股份有限公司 文件转换方法、装置、设备和介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HENRY TAN等: "Razor: mining distance-constrained embedded subtrees", 《SIXTH IEEE INTERNATIONAL CONFERENCE ON DATA MINING - WORKSHOPS (ICDMW"06)》 *
PHILOUSHKA: "WebformsToRazorPages", 《HTTPS://GITHUB.COM/PHILOUSHKA/WEBFORMSTORAZORPAGES》 *
张振超: "Razor View Engine与ASPX View Engine引擎对比研究", 《电脑编程技巧与维护》 *
涂刚等: "ASP.NET MVC的研究", 《软件工程师》 *
郑行双: "基于MVC的Android与Web双模式教学平台的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
CN113961244B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
CN111241454B (zh) 一种生成网页代码的方法、***和装置
CN109840083B (zh) 网页组件模板构建方法、装置、计算机设备和存储介质
CN102163233A (zh) 一种网页标记语言格式转换方法及***
CN114424257A (zh) 使用机器学习对表格数据进行自动描绘和提取
US20200117704A1 (en) System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework
US9141596B2 (en) System and method for processing markup language templates from partial input data
US20100082954A1 (en) Configuration rule prototyping tool
CN104731588B (zh) 页面布局文件生成方法和页面布局文件生成装置
CN110780860A (zh) 建表脚本的生成方法、装置、计算机设备及存储介质
CN110705237A (zh) 文档的自动生成方法、数据处理设备及存储介质
CN113434133B (zh) 应用搭建方法、装置、设备及计算机可读存储介质
CN109062906B (zh) 程序语言资源的翻译方法及装置
CN108664247B (zh) 一种页面模板数据交互的方法及装置
CN114138244A (zh) 模型类文件自动生成方法、装置、存储介质及电子设备
CN112131837A (zh) 业务报告配置方法、装置、计算机设备和存储介质
CN111459537A (zh) 冗余代码去除方法、装置、设备与计算机可读存储介质
CN113360139A (zh) 前端框架的集成方法、装置、电子设备及存储介质
CN113296752A (zh) 生成api文档的方法、***、设备及存储介质
CN112947900B (zh) web应用开发方法、装置、服务器及开发终端
CN113961244B (zh) 一种页面转换方法、装置、设备及存储介质
US20190171648A1 (en) System and method for implementing an extract transform and load (etl) migration tool
CN116432624A (zh) 一种微服务api文档生成方法、装置、设备、存储介质
KR20170105325A (ko) 소스 코드 분석 방법과 이를 수행하기 위한 시스템 및 장치
CN114201215A (zh) 接口文档的生成方法、装置、电子设备及存储介质
CN113568622A (zh) 转换代码的方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant