本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種層疊樣式表的提取方法和設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,在互聯(lián)網(wǎng)平臺(tái)中出現(xiàn)了多種多樣的網(wǎng)站,這些網(wǎng)站能夠?yàn)橛脩籼峁┧枰男畔?。網(wǎng)頁(yè)作為構(gòu)成網(wǎng)站的基本元素,通常被存儲(chǔ)為超文本標(biāo)記語(yǔ)言(Hyper Text Markup Language,HTML)文件。HTML文件中包含網(wǎng)頁(yè)內(nèi)容以及網(wǎng)頁(yè)展示樣式。
通常,一個(gè)網(wǎng)站包含多個(gè)網(wǎng)頁(yè),不同網(wǎng)頁(yè)中所包含的網(wǎng)頁(yè)內(nèi)容不同,但不同網(wǎng)頁(yè)所使用的網(wǎng)頁(yè)展示樣式大致相同,這就意味著,對(duì)于一個(gè)網(wǎng)站來(lái)講,不同網(wǎng)頁(yè)所使用的網(wǎng)頁(yè)展示樣式對(duì)應(yīng)的代碼數(shù)據(jù)大致相同。
在網(wǎng)頁(yè)設(shè)計(jì)之初,網(wǎng)頁(yè)代碼編輯者根據(jù)網(wǎng)頁(yè)設(shè)計(jì)需要,將網(wǎng)頁(yè)內(nèi)容對(duì)應(yīng)的代碼以及樣式邏輯功能對(duì)應(yīng)的代碼編輯在一起。但是,一旦完成網(wǎng)頁(yè)代碼的編輯工作,為了后期對(duì)網(wǎng)頁(yè)代碼數(shù)據(jù)的維護(hù),需要將網(wǎng)頁(yè)源代碼數(shù)據(jù)中包含的樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù)從網(wǎng)頁(yè)源代碼數(shù)據(jù)中提取出來(lái),存儲(chǔ)在CSS文件中。通常CSS文件中包含樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù),這些代碼數(shù)據(jù)能夠用來(lái)控制網(wǎng)頁(yè)中的字體、文字大小、顏色等內(nèi)容。
目前,對(duì)于HTML文件中的CSS,主要通過(guò)人工提取方式實(shí)現(xiàn)。例如:采用人為方式查找HTML文件中包含的樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù),依次提取樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù),并存儲(chǔ)在CSS文件中。受人為因素影響,使得查找并提取出的樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù)容易出現(xiàn)遺漏和/或重復(fù)的問(wèn)題,導(dǎo)致提取CSS耗時(shí)較久,且提取效率較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請(qǐng)實(shí)施例提供一種層疊樣式表的提取方法和設(shè)備,用于解決現(xiàn)有技術(shù)中提取CSS方法存在的耗時(shí)較久引發(fā)的提取效率較低的問(wèn)題。
本申請(qǐng)實(shí)施例提供一種CSS的提取方法,包括:
將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù);
遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn);
提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù);
將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在層疊樣式表CSS文件中。
本申請(qǐng)實(shí)施例提供一種生成HTML文件的方法,包括:
將待處理的第一HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成Java腳本對(duì)象,其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù);
遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn),并提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù),將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在層疊樣式表CSS文件中;
將提取后剩余的代碼數(shù)據(jù)對(duì)應(yīng)的JSON數(shù)據(jù)轉(zhuǎn)換成第二HTML文件,所述第二HTML文件中包含被提取出的所述子代碼數(shù)據(jù)對(duì)應(yīng)的CSS名稱。
本申請(qǐng)實(shí)施例還提供一種CSS的提取設(shè)備,包括:
轉(zhuǎn)換單元,用于將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù);
遍歷單元,用于遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn);
提取單元,用于提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù);
存儲(chǔ)單元,用于將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在CSS文件中。
本申請(qǐng)實(shí)施例還提供一種生成HTML文件的設(shè)備,包括:
第一轉(zhuǎn)換單元,將待處理的第一HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成Java腳本對(duì)象,其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù);
處理單元,遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn),并提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù),將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在層疊樣式表CSS文件中;
第二轉(zhuǎn)換單元,將提取后剩余的代碼數(shù)據(jù)對(duì)應(yīng)的JSON數(shù)據(jù)轉(zhuǎn)換成第二HTML文件,所述第二HTML文件中包含被提取出的所述子代碼數(shù)據(jù)對(duì)應(yīng)的CSS名稱。
本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
本申請(qǐng)實(shí)施例通過(guò)將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù),轉(zhuǎn)換之后的JSON數(shù)據(jù)與HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)相比具有更高的序列性,通過(guò)遍歷JSON數(shù)據(jù)中的JSON節(jié)點(diǎn),提取所述JSON節(jié)點(diǎn)中的CSS并保存在CSS文件中,有效實(shí)現(xiàn)CSS提取的自動(dòng)化,有效避免人為因素影響造成提取耗時(shí)較長(zhǎng)的問(wèn)題,提升提取CSS的提取效率。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1為本申請(qǐng)實(shí)施例提供的一種CSS的提取方法的流程示意圖;
圖2為本申請(qǐng)實(shí)施例中HTML文件中的不同子代碼數(shù)據(jù)之間的邏輯關(guān)系示意圖;
圖3為本申請(qǐng)實(shí)施例提供的一種生成HTML文件的方法的流程示意圖;
圖4為本申請(qǐng)實(shí)施例提供的一種CSS的提取設(shè)備的結(jié)構(gòu)示意圖;
圖5為本申請(qǐng)實(shí)施例提供的一種生成HTML文件的設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
在網(wǎng)頁(yè)設(shè)計(jì)之初,網(wǎng)頁(yè)代碼開發(fā)者可以根據(jù)網(wǎng)頁(yè)設(shè)計(jì)需要,將網(wǎng)頁(yè)內(nèi)容對(duì)應(yīng)的代碼數(shù)據(jù)以及樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù)編輯在一起,能夠保證網(wǎng)頁(yè)開發(fā)者的開發(fā)效率。對(duì)于一個(gè)網(wǎng)站來(lái)講,不同網(wǎng)頁(yè)所使用的網(wǎng)頁(yè)展示樣式對(duì)應(yīng)的代碼數(shù)據(jù)大致相同,為了方便后期對(duì)網(wǎng)頁(yè)代碼數(shù)據(jù)進(jìn)行維護(hù),可以將網(wǎng)頁(yè)源代碼數(shù)據(jù)中包含的樣式邏輯功能對(duì)應(yīng)的代碼數(shù)據(jù)從網(wǎng)頁(yè)源代碼數(shù)據(jù)中提取出來(lái),并存儲(chǔ)在CSS文件中,這樣,在更新網(wǎng)頁(yè)展示樣式時(shí),對(duì)CSS文件中包含的代碼數(shù)據(jù)進(jìn)行修改即可,有效提升網(wǎng)頁(yè)維護(hù)效率。
例如:網(wǎng)頁(yè)代碼開發(fā)者完成網(wǎng)頁(yè)代碼的編寫工作之后,需要將網(wǎng)頁(yè)內(nèi)容的展示樣式從所述網(wǎng)頁(yè)對(duì)應(yīng)的HTML文件中提取出來(lái)存儲(chǔ)在CSS文件中,這樣網(wǎng)頁(yè)內(nèi)容與網(wǎng)頁(yè)內(nèi)容的展示樣式分開。此時(shí),建立HTML文件與CSS文件的引用關(guān)系,可以為多個(gè)網(wǎng)頁(yè)中不同網(wǎng)頁(yè)內(nèi)容提供相同的展示樣式。當(dāng)需要對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行更新和/或修改時(shí),可以在HTML文件中對(duì)相關(guān)網(wǎng)頁(yè)內(nèi)容對(duì)應(yīng)的代碼進(jìn)行更新和/或修改。同時(shí),當(dāng)CSS文件中某一樣式屬性被更新時(shí),使用該樣式屬性的不同網(wǎng)頁(yè)內(nèi)容的展示樣式自動(dòng)更新,不必逐頁(yè)修改。因此,將CSS從HTML文件中提取出來(lái),便于對(duì)網(wǎng)頁(yè)代碼進(jìn)行管理和維護(hù)。
現(xiàn)有技術(shù)中CSS提取所采用的人工提取方法,受人為因素影響,導(dǎo)致提取CSS耗時(shí)較久,且提取效率較低。
為了實(shí)現(xiàn)本申請(qǐng)的目的,本申請(qǐng)實(shí)施例提供了一種CSS的提取方法和設(shè)備,通過(guò)將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù),轉(zhuǎn)換之后的JSON數(shù)據(jù)與HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)相比具有更高的序列性,根據(jù)JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn)之間的序列關(guān)系遍歷JSON數(shù)據(jù)中的JSON節(jié)點(diǎn),提取所述JSON節(jié)點(diǎn)中的CSS并保存在CSS文件中,有效實(shí)現(xiàn)CSS提取的自動(dòng)化,有效避免人為因素影響造成提取耗時(shí)較長(zhǎng)的問(wèn)題,有效提升提取CSS的提取效率。
下面結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
以下結(jié)合說(shuō)明書附圖,詳細(xì)說(shuō)明本申請(qǐng)各實(shí)施例提供的技術(shù)方案。
實(shí)施例1
圖1為本申請(qǐng)?zhí)峁┑囊环NCSS的提取方法的流程示意圖,所述方法可以如下所示。
步驟101:將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)。
其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù)。
在步驟101中,對(duì)于每一個(gè)網(wǎng)站,網(wǎng)站中包含的網(wǎng)頁(yè)可以分別對(duì)應(yīng)一個(gè)或者多個(gè)HTML文件,這里所說(shuō)的HTML文件是指網(wǎng)頁(yè)代碼編譯完成后生成的HTML文件,該HTML文件中包含網(wǎng)頁(yè)內(nèi)容對(duì)應(yīng)的代碼數(shù)據(jù)和網(wǎng)頁(yè)展示樣式對(duì)應(yīng)的代碼數(shù)據(jù),那么本申請(qǐng)實(shí)施例中所記載的待處理的HTML文件可以是指這里所說(shuō)的HTML文件。
首先,獲取待處理的HTML文件,所述待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)中包含至少一個(gè)用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù)。
具體地,HTML文件是結(jié)構(gòu)化的標(biāo)簽語(yǔ)言,由許多實(shí)現(xiàn)不同設(shè)定邏輯功能的標(biāo)簽構(gòu)成。例如:<html>標(biāo)簽用于實(shí)現(xiàn)HTML文檔功能,<div>標(biāo)簽用于實(shí)現(xiàn)文檔中的段落功能,<img>標(biāo)簽用于實(shí)現(xiàn)圖像功能,<video>標(biāo)簽用于實(shí)現(xiàn)視頻功能,等。所述標(biāo)簽對(duì)應(yīng)一段用于實(shí)現(xiàn)該標(biāo)簽的邏輯功能的子代碼數(shù)據(jù)。
例如:<img>標(biāo)簽用于實(shí)現(xiàn)圖像功能,在網(wǎng)頁(yè)中實(shí)現(xiàn)圖像功能,這里以圖片為例進(jìn)行說(shuō)明,首先實(shí)現(xiàn)圖片功能需要確定圖片內(nèi)容、圖片在網(wǎng)頁(yè)中展示的位置、圖片大小等,那么在<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)中將包含用于說(shuō)明圖片內(nèi)容的代碼數(shù)據(jù)、用于說(shuō)明圖片在網(wǎng)頁(yè)中展示的位置的代碼數(shù)據(jù)、用于說(shuō)明圖片大小的代碼數(shù)據(jù)等。
圖2為本申請(qǐng)實(shí)施例中HTML文件中的不同子代碼數(shù)據(jù)之間的邏輯關(guān)系示意圖。
如圖2所示,<html>、<div>、<img>和<video>是HTML文件中包含的四個(gè)標(biāo)簽。其中,<html>標(biāo)簽用于實(shí)現(xiàn)HTML文檔功能,可以是HTML文件的根節(jié)點(diǎn)。根據(jù)<html>標(biāo)簽與<div>標(biāo)簽之間的邏輯關(guān)系,可以確定<html>標(biāo)簽中包含用于實(shí)現(xiàn)文檔中的段落功能的<div>標(biāo)簽,那么可以確定所述<html>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與所述<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是包含關(guān)系。
根據(jù)<div>標(biāo)簽與<img>標(biāo)簽之間的邏輯關(guān)系,可以確定<div>標(biāo)簽中包含用于實(shí)現(xiàn)圖像功能的<img>標(biāo)簽,那么可以確定所述<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與所述<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是包含關(guān)系。
根據(jù)<div>標(biāo)簽與<video>標(biāo)簽之間的邏輯關(guān)系,可以確定<div>標(biāo)簽中包含用于實(shí)現(xiàn)視頻功能的<video>標(biāo)簽,那么可以確定所述<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與所述<video>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是包含關(guān)系。
根據(jù)<div>標(biāo)簽與<img>標(biāo)簽之間的邏輯關(guān)系以及<div>標(biāo)簽與<video>標(biāo)簽之間的邏輯關(guān)系,可以確定<div>標(biāo)簽中包含用于實(shí)現(xiàn)圖像功能的<img>標(biāo)簽和用于實(shí)現(xiàn)視頻功能的<video>標(biāo)簽,那么可以確定所述<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與所述<video>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是并列關(guān)系。
其次,為了有效快速的查找所述HTML文件中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù),將所述代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)。
需要說(shuō)明的是,所述轉(zhuǎn)換后的JSON數(shù)據(jù)與HTML文件中對(duì)應(yīng)的代碼數(shù)據(jù)相比,具有更高的可讀性和序列性。
具體地,分析待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)中包含的至少兩個(gè)子代碼數(shù)據(jù)之間的邏輯關(guān)系,若所述至少兩個(gè)子代碼數(shù)據(jù)之間的邏輯關(guān)系為包含關(guān)系,那么將所述至少兩個(gè)子代碼數(shù)據(jù)分別轉(zhuǎn)換為JSON對(duì)象,所述JSON對(duì)象對(duì)應(yīng)JSON節(jié)點(diǎn)。
若所述至少兩個(gè)子代碼數(shù)據(jù)之間的邏輯關(guān)系為并列關(guān)系,那么將所述至少兩個(gè)子代碼數(shù)據(jù)轉(zhuǎn)換成一個(gè)JSON數(shù)組,所述JSON數(shù)組對(duì)應(yīng)JSON節(jié)點(diǎn)。
仍以圖2中所示的內(nèi)容為例說(shuō)明如何將所述代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)。HTML文件中的<html>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是包含關(guān)系,在轉(zhuǎn)換為JSON數(shù)據(jù)時(shí),所述<html>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)轉(zhuǎn)換為一個(gè)JSON對(duì)象,所述<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)也轉(zhuǎn)換為一個(gè)JSON對(duì)象,所述JSON對(duì)象對(duì)應(yīng)JSON節(jié)點(diǎn)。
<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是包含關(guān)系,在轉(zhuǎn)換為JSON數(shù)據(jù)時(shí),所述<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)轉(zhuǎn)換為一個(gè)JSON對(duì)象,所述<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)也轉(zhuǎn)換為一個(gè)JSON對(duì)象,所述JSON對(duì)象對(duì)應(yīng)JSON節(jié)點(diǎn)。
<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與<video>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是包含關(guān)系,在轉(zhuǎn)換為JSON數(shù)據(jù)時(shí),所述<div>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)轉(zhuǎn)換為一個(gè)JSON對(duì)象,所述<video>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)也轉(zhuǎn)換為一個(gè)JSON對(duì)象,所述JSON對(duì)象對(duì)應(yīng)JSON節(jié)點(diǎn)。
<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與<video>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)之間是并列關(guān)系,在轉(zhuǎn)換為JSON數(shù)據(jù)時(shí),所述<img>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)與所述<video>標(biāo)簽對(duì)應(yīng)的子代碼數(shù)據(jù)轉(zhuǎn)換為一個(gè)JSON數(shù)組,所述JSON數(shù)組對(duì)應(yīng)JSON節(jié)點(diǎn)。
在本申請(qǐng)的另一實(shí)施例中,在將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)之后,所述方法還包括:
根據(jù)所述JSON節(jié)點(diǎn)在所述JSON數(shù)據(jù)中的位置關(guān)系確定所述JSON數(shù)據(jù)中JSON節(jié)點(diǎn)的名稱。
具體地,首先,確定JSON數(shù)據(jù)的根節(jié)點(diǎn),其次,確定根節(jié)點(diǎn)的子節(jié)點(diǎn)以及每個(gè)子節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn),依此類推,最后,根據(jù)JSON數(shù)據(jù)中各個(gè)JSON節(jié)點(diǎn)之間的位置關(guān)系,確定所述JSON數(shù)據(jù)中所有JSON節(jié)點(diǎn)的名稱。
例如:JSON數(shù)據(jù)的根節(jié)點(diǎn)為0,它的子節(jié)點(diǎn)分別為0_0和0_1,其中,0_1的子節(jié)點(diǎn)分別為0_1_0,0_1_1和0_1_2,依此類推,確定所述JSON數(shù)據(jù)中所有JSON節(jié)點(diǎn)的名稱。
在本申請(qǐng)的另一實(shí)施例中,首先,確定JSON數(shù)據(jù)的根節(jié)點(diǎn),其次,確定待命名的JSON節(jié)點(diǎn)是JSON根節(jié)點(diǎn)的幾層子節(jié)點(diǎn)以及在該層的位置,最后,確定所述JSON節(jié)點(diǎn)的名稱。
例如:JSON數(shù)據(jù)的根節(jié)點(diǎn)為A,根節(jié)點(diǎn)A包含兩個(gè)子節(jié)點(diǎn)B、C,子節(jié)點(diǎn)B包含三個(gè)子節(jié)點(diǎn)D、E、F,對(duì)JSON節(jié)點(diǎn)E進(jìn)行命名,首先確定根節(jié)點(diǎn)為0,所述JSON節(jié)點(diǎn)E是JSON根節(jié)點(diǎn)A的二層子節(jié)點(diǎn),而且在三層節(jié)點(diǎn)中的位置為第二位,則所述JSON節(jié)點(diǎn)E為0_2_2。
在本申請(qǐng)的另一實(shí)施例中,首先,確定JSON數(shù)據(jù)的根節(jié)點(diǎn),其次,確定根節(jié)點(diǎn)的子節(jié)點(diǎn)以及每個(gè)子節(jié)點(diǎn)對(duì)應(yīng)的子節(jié)點(diǎn),最后,按照J(rèn)SON數(shù)據(jù)中各個(gè)JSON節(jié)點(diǎn)的位置順序,確定所述JSON節(jié)點(diǎn)的名稱。
例如:JSON數(shù)據(jù)的根節(jié)點(diǎn)為A,根節(jié)點(diǎn)A包含兩個(gè)子節(jié)點(diǎn)B、C,子節(jié)點(diǎn)B包含三個(gè)子節(jié)點(diǎn)D、E、F,則所述JSON數(shù)據(jù)中JSON節(jié)點(diǎn)的命名為:所述JSON根節(jié)點(diǎn)A為0,所述JSON根節(jié)點(diǎn)B為1,所述JSON根節(jié)點(diǎn)C為2,所述JSON根節(jié)點(diǎn)D為3,所述JSON根節(jié)點(diǎn)E為4,所述JSON根節(jié)點(diǎn)F為5。
在本申請(qǐng)的另一實(shí)施例中,確定所述JSON數(shù)據(jù)中所有JSON節(jié)點(diǎn)的名稱之后,所述方法還包括:
確定JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的名稱。
具體地,首先,確定樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)所在的JSON節(jié)點(diǎn)的名稱,其次,將所述JSON節(jié)點(diǎn)的名稱作為所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱。
例如:JSON數(shù)據(jù)的根節(jié)點(diǎn)為0,根節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是0;根節(jié)點(diǎn)的子節(jié)點(diǎn)分別為0_0和0_1,子節(jié)點(diǎn)0_0中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是0_0,子節(jié)點(diǎn)0_1中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是0_1;0_1的子節(jié)點(diǎn)分別為0_1_0,0_1_1和0_1_2,子節(jié)點(diǎn)0_1_0中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是0_1_0,子節(jié)點(diǎn)0_1_1中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是0_1_1,子節(jié)點(diǎn)0_1_2中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是0_1_2,依此類推,確定所述JSON數(shù)據(jù)中所有JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱。
在本申請(qǐng)的另一實(shí)施例中,首先,確定樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)所在的JSON節(jié)點(diǎn)的名稱,其次,在所述JSON節(jié)點(diǎn)的名稱前面加上CSS標(biāo)簽作為所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱。
例如:JSON數(shù)據(jù)的根節(jié)點(diǎn)為0,根節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是css:0;根節(jié)點(diǎn)的子節(jié)點(diǎn)分別為0_0和0_1,子節(jié)點(diǎn)0_0中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是css:0_0,子節(jié)點(diǎn)0_1中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是css:0_1;0_1的子節(jié)點(diǎn)分別為0_1_0,0_1_1和0_1_2,子節(jié)點(diǎn)0_1_0中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)CSS名稱是css:0_1_0,子節(jié)點(diǎn)0_1_1中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是css:0_1_1,子節(jié)點(diǎn)0_1_2中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱是css:0_1_2,依此類推,確定所述JSON數(shù)據(jù)中所有JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱。
步驟102:遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn)。
在步驟102中,根據(jù)JSON數(shù)據(jù)中JSON節(jié)點(diǎn)之間的序列關(guān)系,遍歷所述JSON數(shù)據(jù)中的JSON節(jié)點(diǎn)。
步驟103:提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)。
在步驟103中,在遍歷JSON節(jié)點(diǎn)的過(guò)程中,提取當(dāng)前訪問(wèn)的JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)。
在本申請(qǐng)的另一實(shí)施例中,先遍歷JSON節(jié)點(diǎn),對(duì)訪問(wèn)到的JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)進(jìn)行標(biāo)記,遍歷結(jié)束之后,提取所述被標(biāo)記的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)。
在本申請(qǐng)的另一實(shí)施例中,在提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)之后,所述方法還包括:
在所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的位置上,寫入所述子代碼數(shù)據(jù)的CSS名稱。
例如:JSON數(shù)據(jù)中用于實(shí)現(xiàn)文檔中段落功能的<div>標(biāo)簽對(duì)應(yīng)的JSON節(jié)點(diǎn)對(duì)應(yīng)的子代碼數(shù)據(jù)為:<div>{段落樣式對(duì)應(yīng)的代碼數(shù)據(jù)},所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱為css:0_1_1,提取所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)并在所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的位置上寫入所述子代碼數(shù)據(jù)的CSS名稱之后,所述JSON節(jié)點(diǎn)對(duì)應(yīng)的子代碼數(shù)據(jù)為:<div>{css:0_1_1}。
步驟104:將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在CSS文件中。
在步驟104中,將步驟103中遍歷JSON節(jié)點(diǎn)提取出的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)存儲(chǔ)在CSS文件中。
具體地,在遍歷JSON節(jié)點(diǎn)開始時(shí),生成CSS文件,并在遍歷JSON節(jié)點(diǎn)的過(guò)程中,將提取到的當(dāng)前訪問(wèn)的JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)存儲(chǔ)在所述CSS文件中。
在本申請(qǐng)的另一實(shí)施例中,先遍歷JSON節(jié)點(diǎn),對(duì)訪問(wèn)到的JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)進(jìn)行標(biāo)記,遍歷結(jié)束后,生成CSS文件,將遍歷過(guò)程中標(biāo)記的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)提取并存儲(chǔ)到所述CSS文件中。
在本申請(qǐng)的另一實(shí)施例中,在所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的位置上寫入所述子代碼數(shù)據(jù)的CSS名稱后,所述方法還包括:
將變化后的所述JSON數(shù)據(jù)逆轉(zhuǎn)換為HTML文件。
具體地,將變化后的所述JSON數(shù)據(jù)中的JSON對(duì)象與JSON子對(duì)象轉(zhuǎn)換為HTML文件中邏輯關(guān)系為包含關(guān)系的代碼數(shù)據(jù),所述JSON子對(duì)象對(duì)應(yīng)的代碼數(shù)據(jù)是所述JSON對(duì)象對(duì)應(yīng)的代碼數(shù)據(jù)對(duì)應(yīng)的子代碼數(shù)據(jù)。
將JSON數(shù)據(jù)中的JSON數(shù)組中的至少兩個(gè)JSON子對(duì)象轉(zhuǎn)換為HTML文件中邏輯關(guān)系為并列關(guān)系的代碼數(shù)據(jù)。
需要說(shuō)明的是,逆轉(zhuǎn)后得到的所述HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)中包含被提取出的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)對(duì)應(yīng)的CSS名稱。
通過(guò)本申請(qǐng)實(shí)施例提供的技術(shù)方案,將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù),轉(zhuǎn)換之后的JSON數(shù)據(jù)與HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)相比具有更高的序列性,通過(guò)遍歷JSON數(shù)據(jù)中的JSON節(jié)點(diǎn),提取所述JSON節(jié)點(diǎn)中的CSS并保存在CSS文件中,有效實(shí)現(xiàn)CSS提取的自動(dòng)化,有效避免人為因素影響造成提取耗時(shí)較長(zhǎng)的問(wèn)題,提升提取CSS的提取效率。
實(shí)施例2
圖3為本申請(qǐng)實(shí)施例提供的一種生成HTML文件的方法的流程示意圖。所述方法可以如下所示。
步驟301:將待處理的第一HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)。
其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù)。
在步驟301中,將待處理的第一HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)的方法與實(shí)施例1中的步驟101中所使用的方法相同。
步驟302:遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn),并提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù),將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在層疊樣式表CSS文件中。
在步驟302中,遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn)的方法與實(shí)施例1中的步驟102中所使用的方法相同。
在步驟302中,提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的方法與實(shí)施例1中的步驟103中所使用的方法相同。
在步驟302中,將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在層疊樣式表CSS文件中的方法與實(shí)施例1中的步驟104中所使用的方法相同。
步驟303:將提取后剩余的代碼數(shù)據(jù)對(duì)應(yīng)的JSON數(shù)據(jù)轉(zhuǎn)換成第二HTML文件。
其中,所述第二HTML文件中包含被提取出的所述子代碼數(shù)據(jù)對(duì)應(yīng)的CSS名稱。
在步驟303中,將提取后剩余的代碼數(shù)據(jù)對(duì)應(yīng)的JSON數(shù)據(jù)轉(zhuǎn)換成第二HTML文件的方法與實(shí)施例1中步驟104中包含的將變化后的所述JSON數(shù)據(jù)逆轉(zhuǎn)換為HTML文件的方法相同。
實(shí)施例3
圖4為本申請(qǐng)?zhí)峁┑囊环NCSS的提取設(shè)備的結(jié)構(gòu)示意圖,所述CSS的提取設(shè)備包括:轉(zhuǎn)換單元401、遍歷單元402、提取單元403、存儲(chǔ)單元404,其中:
轉(zhuǎn)換單元401,用于將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù);
遍歷單元402,用于遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn);
提取單元403,用于提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù);
存儲(chǔ)單元404,用于將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在CSS文件中。
在本申請(qǐng)的另一實(shí)施例中,所述轉(zhuǎn)換單元401將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),包括:
分析待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)中包含的至少兩個(gè)子代碼數(shù)據(jù)之間的邏輯關(guān)系;
若所述至少兩個(gè)子代碼數(shù)據(jù)之間的邏輯關(guān)系為包含關(guān)系,那么將所述至少兩個(gè)子代碼數(shù)據(jù)分別轉(zhuǎn)換為JSON對(duì)象,所述JSON對(duì)象對(duì)應(yīng)JSON節(jié)點(diǎn)。
若所述至少兩個(gè)子代碼數(shù)據(jù)之間的邏輯關(guān)系為并列關(guān)系,那么將所述至少兩個(gè)子代碼數(shù)據(jù)轉(zhuǎn)換成一個(gè)JSON數(shù)組,所述JSON數(shù)組對(duì)應(yīng)JSON節(jié)點(diǎn)。
在本申請(qǐng)的另一實(shí)施例中,所述提取設(shè)備還包括:命名單元405和寫入單元406,其中:
所述命名單元405,用于在所述轉(zhuǎn)換單元將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù)之后,根據(jù)所述JSON節(jié)點(diǎn)在所述JSON數(shù)據(jù)中的位置,確定所述JSON節(jié)點(diǎn)的名稱,根據(jù)所述JSON節(jié)點(diǎn)的名稱,生成所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的CSS名稱;
所述寫入單元406,用于在所述提取單元提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)之后,在所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的位置上,寫入所述子代碼數(shù)據(jù)的CSS名稱。
在本申請(qǐng)的另一實(shí)施例中,所述命名單元405根據(jù)所述JSON節(jié)點(diǎn)在所述JSON數(shù)據(jù)中的位置,確定所述JSON節(jié)點(diǎn)的名稱,包括:
確定所述JSON節(jié)點(diǎn)的根節(jié)點(diǎn);
根據(jù)所述JSON節(jié)點(diǎn)的根節(jié)點(diǎn)和所述JSON節(jié)點(diǎn)在所述根節(jié)點(diǎn)中的位置,確定所述JSON節(jié)點(diǎn)的名稱。
在本申請(qǐng)的另一實(shí)施例中,所述提取設(shè)備還包括:逆轉(zhuǎn)換單元407,其中:
所述逆轉(zhuǎn)換單元407,用于當(dāng)所述寫入單元在所述JSON節(jié)點(diǎn)中包含的所述樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù)的位置上寫入所述子代碼數(shù)據(jù)的CSS名稱后,將變化后的所述JSON數(shù)據(jù)逆轉(zhuǎn)換為HTML文件。
通過(guò)所述CSS的提取設(shè)備,所述轉(zhuǎn)換單元將待處理的HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù),轉(zhuǎn)換之后的JSON數(shù)據(jù)與HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)相比具有更高的序列性,所述遍歷單元遍歷JSON數(shù)據(jù)中的JSON節(jié)點(diǎn),所述提取單元提取所述節(jié)點(diǎn)中的CSS,所述存儲(chǔ)單元將提取出的CSS存儲(chǔ)在CSS文件中,有效實(shí)現(xiàn)了CSS提取的自動(dòng)化,有效避免人為因素影響造成提取耗時(shí)較長(zhǎng)的問(wèn)題,提升提取CSS的提取效率。
實(shí)施例4
基于同一個(gè)發(fā)明構(gòu)思,圖5為本申請(qǐng)實(shí)施例提供的一種生成HTML文件的設(shè)備的結(jié)構(gòu)示意圖,所述生成HTML文件的設(shè)備包括:第一轉(zhuǎn)換單元501、處理單元502、第二轉(zhuǎn)換單元503,其中:
第一轉(zhuǎn)換單元501,將待處理的第一HTML文件對(duì)應(yīng)的代碼數(shù)據(jù)轉(zhuǎn)換成Java腳本對(duì)象,其中,所述JSON數(shù)據(jù)包含至少一個(gè)JSON節(jié)點(diǎn),所述JSON節(jié)點(diǎn)對(duì)應(yīng)于所述代碼數(shù)據(jù)中用于實(shí)現(xiàn)設(shè)定邏輯功能的子代碼數(shù)據(jù);
處理單元502,遍歷所述JSON數(shù)據(jù)中包含的JSON節(jié)點(diǎn),并提取所述JSON節(jié)點(diǎn)中包含的樣式邏輯功能對(duì)應(yīng)的子代碼數(shù)據(jù),將提取出的所述子代碼數(shù)據(jù)存儲(chǔ)在層疊樣式表CSS文件中;
第二轉(zhuǎn)換單元503,將提取后剩余的代碼數(shù)據(jù)對(duì)應(yīng)的JSON數(shù)據(jù)轉(zhuǎn)換成第二HTML文件,所述第二HTML文件中包含被提取出的所述子代碼數(shù)據(jù)對(duì)應(yīng)的CSS名稱。
需要說(shuō)明的是,本申請(qǐng)實(shí)施例中做記載的HTML文件生成設(shè)備可以具備實(shí)施例3中所記載的CSS提取設(shè)備的功能,這里不再詳細(xì)贅述。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。