CN103049303B - 一种swf文件解析方法及装置 - Google Patents
一种swf文件解析方法及装置 Download PDFInfo
- Publication number
- CN103049303B CN103049303B CN201310010503.2A CN201310010503A CN103049303B CN 103049303 B CN103049303 B CN 103049303B CN 201310010503 A CN201310010503 A CN 201310010503A CN 103049303 B CN103049303 B CN 103049303B
- Authority
- CN
- China
- Prior art keywords
- file
- swf
- swf file
- module
- parsing
- 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)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种swf文件解析方法及装置,包括如下步骤,加载文件,读入swf文件;分析文件,分析swf文件结构的正确性;解析文件,若分析swf文件结构正确,对文件结构设置正确的swf文件进行解析;测试文件,检测swf文件的外观配置是否合适;并提取文件,提取swf文件的组成元素以供再次使用;修改文件,若分析swf文件结构不正确,对该swf文件进行修改。本发明实现swf文件的解析,提供代码解析方式和元素分解方式,同时能够实现对解析内容的提取以达到再次使用的目的,既实现了解析swf文件,又能够实现对其的修改和解析内容的提取,实现流媒体文件解析的快捷性。
Description
技术领域
本发明涉及文件解析领域,更具体地说,涉及一种swf文件解析方法和装置。
背景技术
Flash动画 (shock wave flash,swf)是动画设计软件Flash的专用格式的文件,支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计、动画制作等领域。swf文件通常也被称为Flash文件,swf文件可以被Flash播放器打开,可以用浏览器直接打开。而flv文件是Flash视频,一种视频格式。网络播放器实质上是一种使用swf格式的播放器界面来加载flv格式视频。Flv是流媒体文件,可以用大部分播放软件播放。swf文件是flash动画发布后的文件,其源文件是fla文件。swf文件包含文字、图片、声音、视频、代码,可以与用户进行交互flv文件只是单纯的视频文件,只能用软件播放观看,无法与用户进行交互。同时flv文件是源文件,可以随意修改,比swf文件大。Swf文件的修改需要通过解析出源文件。为了减小flv文件的大小,需要将其其进行汇编为更小的swf文件。但是由于汇编过程的一些错误,导致flv文件不能正常显示或者使用,因此需要在使用swf文件之前对其进行解析,检测其设置是否有误,若出现问题则及时改正。
当前技术主要是通过Flash播放器能否打开swf文件来检测其设置是否正确,或者检测swf文件结构外观设置是否合适,修改则仍然是在编译器中进行。目前是swf文件解析装置能够解析出swf代码并能对其资源进行提取,然而并不能对其组成资源进行分解解析,流媒体文件解析效率低下。
发明内容
为了解决上述问题,本发明首先提供了一种swf文件解析方法及装置,能够对其进行代码解析并对其组成资源进行分解解析,同时可以实现对其组成元素的提取或者直接对其进行修改编译。
本发明提供一种swf文件解析方法,包括:
加载文件,读入swf文件;
分析文件,分析swf文件结构的正确性;
解析文件,若分析swf文件结构正确,对文件结构设置正确的swf文件进行解析;
测试文件,检测swf文件的外观配置是否合适;并
提取文件,提取swf文件的组成元素以供再次使用;
修改文件,若分析swf文件结构不正确,对该swf文件进行修改。
本发明还提供一种swf文件解析装置,包括:
加载模块,用于读入swf文件;
分析模块,用于分析所述加载模读入的swf文件结构的正确性;
解析模块,若所述分析模块分析swf文件结构正确,对文件结构设置正确的swf文件进行解析;
测试模块,检测swf文件的外观配置是否合适;
提取模块,提取swf文件的组成元素以供再次使用;
修改模块,若所述分析模块分析swf文件结构不正确,对该swf文件进行修改。
本发明提供的一种swf文件解析方法及装置,不仅可以对其整体进行解析,还可以对其进行元素分解解析。同时可以对其进行修改或者提取元素独立保存,以便再次使用。
附图说明
图1为按照本发明的swf文件解析方法的流程图。
图2为按照本发明的swf文件解析装置的模块组成示意图;
图3为按照本发明的swf文件解析装置的swf文件树形结构展示图。
图4为按照本发明的swf文件解析装置的swf文件控制面板树形结构图。
具体实施方式
下面结合附图和优选的实施方式对本发明作进一步的详细描述。权利要求中构成要件和实施例中具体实例之间的对应关系可以如下例证。这里的描述意图在于确认在实施例中描述了用来支持在权利要求中陈述的主题的具体实例,由于在实施例中描述了实例,不意味着该具体实例不表示构成要件。相反地,即使在此包含了具体实例作为对应一个构成要件的要素特征,也不意味着该具体实例不表示任何其它构成要件。
此外,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。换句话说,这里的描述不否认这种实体,即对应实施例包含的具体实例,但不包含在其任何一项权利要求中,即,能够在以后的修正被分案并申请、或增加的可能发明的实体。
为了使发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进一步详细说明。应当理解所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明以swf皮肤文件skin.swf为例进行进一步详细介绍。
本发明提供一种swf文件解析装置,用来对swf文件的设置是否正确进行验证并解析,具体地,该swf文件解析装置包括加载模块、分析模块、解析模块和测试模块、提取模块。首先,在加载模块通过自动或者手动方式获得swf文件地址后,加载swf文件,同时分析模块分析swf文件结构设置是否正确,若正确,解析模块解析出该swf文件,否则不解析或者提示解析失败,由修改模块,对swf文件进行修改。代码解析模块以代码方式解析所述swf文件,解析的结果为XML代码,包括skin.swf文件的节点名称、索引、类型三个属性。解析出的XML代码可以通过提取模块保存解析出的XML代码。或者以元素分解模块解析所述skin.swf文件,以树形结构解析所述skin.swf文件组成元素。同时分解出的树形结构元素还可通过提取模块保存,如将控制面板进行提取,则可以将控制面板单独另存为图片、flv或swf文件等类型的独立文件。再进行使用时,可以将该单独文件进行配置,并设置相应的节点结构和属性,就可以再次使用该元素。如图3所示为,该皮肤文件skin.swf的树形分解图,图4为其控制面板的树形分解图。同时,该皮肤文件skin.swf也可通过测试模块测试该皮肤外观的设置是否合适,如字体大小。
按照本发明提供的一种swf文件解析方法,具体地,包括以下步骤:
首先,加载皮肤文件。
swf文件的加载有两种方法:手工输入和自动输入。手工输入是在手工输入swf文件的地址,或者可以自动遍历文件夹选择输入swf文件保存地址。同时分析swf皮肤文件结构是否正确,正确则进行下一步解析,否则,不解析或则提示解析失败。
解析皮肤文件,
解析swf文件包括两种方式,代码解析方式以及树形结构据解析方式。
代码解析。
若经分析swf皮肤文件结构设置正确,那么该皮肤文件直接以XML代码解析出来,XML代码解析结果包括节点名称、索引、类型。
树形结构解析。
同时,皮肤文件skin.swf可以以树形结构分解组成元素。展现如图3所示皮肤文件skin.swf树形结构列表。皮肤文件skin.swf包括顶面板、控制面板、加载面板、展现面板、试看面板,每个操作面板又包括多个元素,每个元素通过特定的属性进行限制,包括:节点名称、索引和类型三个属性,以编码程序的形式展示树形结构。例如控制面板包括:提示信息、返回、预览、进度条、屏幕显示、播放列表等等信息,如图4所示。
测试皮肤文件。
测试文件的外观是否合适,例如字体大小、颜色、按钮位置、按钮特效等,查看视频展示效果,如若不合适进行修改。
提取皮肤文件。
可以提取皮肤文件元素,如提取控制面板,把控制面板单独另存为图片、flv或swf文件等类型的独立文件,再进行使用时,可以将该单独文件进行配置,并设置相应的节点结构和属性,就可以再次使用该元素。
修改皮肤文件。
经分析皮肤文件,若出现错误,那么皮肤文件不解析。需要对其进行修改,皮肤文件可以在本发明装置中进行修改也可以不在本发明装置中进行修改。经测试皮肤文件,若发现皮肤文件外观设置不合适,如字体大小、颜色、按钮位置、按钮特效等,也可在本发明装置进行修改。
上述详细描述通过实施例和/或示意图阐明了系统和/或过程的各种实施例。就这些示意图和/或包含一个或多个功能和/或操作而言,本领域技术人员将理解,这些示意图或实施例中的每一个功能和/或操作都可由各种各样的硬件、软件、固件、或实际上其任意组合来单独地和/或共同地实现。
应该理解,本文描述的方法可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,本发明的方法,可以采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。一个或多个程序可以例如,通过使用API,可重用控件等来实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,该程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语言,且与硬件实现相结合。
需要说明的是,本发明的一种P2P节点选择系统方案的范畴包括但不限于上述各部分之间的任意组合。
尽管具体地参考其优选实施例来示出并描述了本发明,但本领域的技术人员可以理解,可以做出形式和细节上的各种改变而不脱离所附权利要求书中所述的本发明的范围。以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。
Claims (12)
1.一种swf文件解析方法,包括如下步骤,
加载文件,读入swf文件;
分析文件,分析swf文件结构的正确性,所述分析文件是在加载swf文件的同时遍历其文件结构设置是否正确;
解析文件,若分析swf文件结构正确,对文件结构设置正确的swf文件进行解析;所述解析文件包括:代码解析和元素分解解析;所述代码解析包括:XML代码解析,解析内容包括节点名称、索引和类型;
所述元素分解解析包括:树形结构解析,对组成swf文件的元素以树形方式体现出解析内容;
所述组成swf文件的元素包括:顶面板、控制面板、加载面板、展现面板、试看面板中至少一种;
测试文件,检测swf文件的外观配置是否合适;并
提取文件,提取swf文件的组成元素,保存为独立文件,并对所述独立文件进行配置,设置相应的节点结构和属性,以供再次使用所述组成元素;
修改文件,若分析swf文件结构不正确,对该swf文件进行直接修改。
2.根据权利要求1的方法,其特征在于,所述加载文件步骤包括:
根据swf文件的保存地址读取所述swf文件。
3.根据权利要求2的方法,其特征在于,所述加载文件方式包括:
自动加载和手动加载,自动加载包括遍历文件夹来查找输入swf文件地址,手动加载包括人工输入swf文件地址。
4.根据权利要求1的方法,其特征在于,所述测试文件用来测试皮肤swf文件的外观是否适合,所述皮肤swf文件外观包括字体大小、颜色、按钮位置、按钮特效。
5.根据权利要求1的方法,其特征在于,所述修改文件是在分析出swf文件出错或者测试出swf文件配置不合适的情况下对swf文件进行修改。
6.根据权利要求1的方法,其特征在于,所述提取swf文件用来保存解析出的XML代码,且提取swf文件树形结构分解的元素,并将其保存为独立文件,所述独立文件包括图片、flv文件、swf文件,所述解析包括代码解析。
7.一种swf文件解析装置,其特征在于,包括:
加载模块,用于读入swf文件;
分析模块,用于分析所述加载模块读入的swf文件结构的正确性,所述分析模块,具体用于在加载swf文件的同时遍历其文件结构设置是否正确;
解析模块,若所述分析模块分析swf文件结构正确,对文件结构设置正确的swf文件进行解析;
所述解析模块包括代码解析模块和元素分解解析模块;
所述代码解析模块,具体用于XML代码解析,解析内容包括节点名称、索引和类型;
所述元素分解解析模块,具体用于采用树形结构解析,对组成swf文件的元素以树形方式体现出解析内容;
所述组成swf文件的元素包括:顶面板、控制面板、加载面板、展现面板、试看面板中至少一种;
测试模块,检测swf文件的外观配置是否合适;
提取模块,提取 swf 文件的组成元素,保存为独立文件,并对所述独立文件进行配置,设置相应的节点结构和属性,以供再次使用所述组成元素;
修改模块,若所述分析模块分析swf文件结构不正确,对该swf文件进行直接修改。
8.根据权利要求7的装置,其特征在于,所述加载模块,具体用于根据swf文件的保存地址读取所述swf文件。
9.根据权利要求8的装置,其特征在于,所述加载模块,具体用于遍历文件夹来查找输入swf文件地址,或提示人工输入swf文件地址。
10.根据权利要求7的装置,其特征在于,所述测试模块,具体用于测试皮肤swf文件的外观是否适合,所述皮肤swf文件外观包括字体大小、颜色、按钮位置、按钮特效。
11.根据权利要求7的装置,其特征在于,所述修改模块,具体用于在分析出swf文件出错或者测试出swf文件配置不合适的情况下对swf文件进行修改。
12.根据权利要求7的装置,其特征在于,所述提取模块,具体用于保存解析出的XML代码,且提取swf文件树形结构分解的元素,并将其保存为独立文件,所述独立文件包括图片、flv文件、swf文件,所述解析包括代码解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310010503.2A CN103049303B (zh) | 2013-01-11 | 2013-01-11 | 一种swf文件解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310010503.2A CN103049303B (zh) | 2013-01-11 | 2013-01-11 | 一种swf文件解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049303A CN103049303A (zh) | 2013-04-17 |
CN103049303B true CN103049303B (zh) | 2017-02-15 |
Family
ID=48061954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310010503.2A Active CN103049303B (zh) | 2013-01-11 | 2013-01-11 | 一种swf文件解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049303B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500207A (zh) * | 2013-09-27 | 2014-01-08 | 摩卡软件(天津)有限公司 | 一种Flash源文件元素提取的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207774A (zh) * | 2007-12-04 | 2008-06-25 | 欧阳泳春 | 将swf格式文件转换为视频文件的系统及其实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100509970B1 (ko) * | 2003-09-05 | 2005-08-25 | (주)아이즈멘아이엔씨 | 플레쉬 파일에 콘텐츠 저작권 보호 방법을 적용한 플레쉬 플레이어 서비스 방법 |
-
2013
- 2013-01-11 CN CN201310010503.2A patent/CN103049303B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207774A (zh) * | 2007-12-04 | 2008-06-25 | 欧阳泳春 | 将swf格式文件转换为视频文件的系统及其实现方法 |
Non-Patent Citations (2)
Title |
---|
Flash深入研究之三—编程提取SWF中的图像文件;张帆;《电脑爱好者》;20020918(第17期);第105-106页 * |
SWF动画内容解析与XML表达自动阅卷研究;廖建平;《中国优秀硕士学位论文全文数据库信息科技辑》;20100715(第07期);参见第21-61页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103049303A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268568B2 (en) | System and method for data element tracing | |
CN104572644B (zh) | 数据库更新装置和数据库更新方法 | |
CN105045602B (zh) | 一种构建Hadoop应用开发框架的方法、装置及电子装置 | |
CN106649103A (zh) | 一种安卓应用程序自动化黑盒测试的方法及系统 | |
CN104267947A (zh) | 一种编辑弹窗图片的方法及弹窗图片编辑装置 | |
KR20130143725A (ko) | 중간 포맷을 이용한 swf와 html의 크로스-컴파일링 | |
CN106502896A (zh) | 一种函数测试代码的生成方法及装置 | |
CN104049974A (zh) | 控件动态组装方法和系统 | |
CN109966742A (zh) | 游戏运行中获取渲染性能数据的方法及装置 | |
CN104346342A (zh) | 一种加载Flash插件的方法及装置 | |
CN108073424B (zh) | 组件接口的调用方法及装置 | |
CN106776266A (zh) | 测试工具的配置方法及终端设备 | |
CN107332805B (zh) | 检测漏洞的方法、装置和系统 | |
CN103049303B (zh) | 一种swf文件解析方法及装置 | |
CN108959056B (zh) | 测试用例生成方法和测试用例生成装置 | |
CN106886435A (zh) | 微件的加载方法及装置 | |
CN109491574A (zh) | 包含表格的页面交互装置及方法 | |
CN107943515A (zh) | 一种云管理平台管理服务编排模板的方法和装置 | |
CN106034254B (zh) | 一种实现与视频中文字进行交互操作的方法及系统 | |
CN107784023A (zh) | 一种图文信息的生成方法及装置 | |
CN109460236A (zh) | 程序版本构建和检查方法及系统 | |
US8606773B2 (en) | Method for combining and processing web data using tables and programming-by-demonstration | |
CN102006512B (zh) | 应用sax解析引擎的数字电视hsml解析方法及系统 | |
US7689905B1 (en) | Containment of terminal application run-time data for viewing when disconnected from a host server | |
CN103365895A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210625 Address after: 300467 917-2, Chuangzhi building, 482 Zhongxin eco city, Binhai New Area, Tianjin Patentee after: Tianjin Zhirong Innovation Technology Development Co.,Ltd. Address before: 100026 room 6184, 6th floor, building 19, 68 Xueyuan South Road, Haidian District, Beijing Patentee before: LE HOLDINGS (BEIJING) Co.,Ltd. |