定位xml節(jié)點(diǎn)的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及一種定位可擴(kuò)展標(biāo)記語(yǔ)言(ExtensibleMarkup Language,以下簡(jiǎn)稱:XML)節(jié)點(diǎn)的方法和裝置。
【背景技術(shù)】
[0002]XML屬于計(jì)算機(jī)標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,它可以用來(lái)標(biāo)記結(jié)構(gòu)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。它非常適合萬(wàn)維網(wǎng)傳輸,提供統(tǒng)一的方法來(lái)描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。憑借這些優(yōu)點(diǎn),XML得到了廣泛應(yīng)用。
[0003]通常,一個(gè)XML文件包含多個(gè)節(jié)點(diǎn),研發(fā)人員或者用戶常常需要對(duì)XML文件中的某些具有特定屬性的節(jié)點(diǎn)進(jìn)行處理,例如:對(duì)語(yǔ)法錯(cuò)誤的節(jié)點(diǎn)進(jìn)行修改,而現(xiàn)有技術(shù)中,無(wú)法定位這些具有特定屬性的節(jié)點(diǎn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種定位XML節(jié)點(diǎn)的方法和裝置,以實(shí)現(xiàn)對(duì)XML文件中具有特定屬性的節(jié)點(diǎn)的定位。
[0005]本發(fā)明實(shí)施例第一方面提供一種定位XML節(jié)點(diǎn)的方法,包括:
[0006]接收定位指令,所述定位指令用于定位可擴(kuò)展標(biāo)記語(yǔ)言XML文件中具有特定屬性的節(jié)點(diǎn);
[0007]依次讀取所述XML文件中的每個(gè)節(jié)點(diǎn);
[0008]當(dāng)讀取到具有所述特定屬性的節(jié)點(diǎn)時(shí),獲取所述具有特定屬性的節(jié)點(diǎn)在所述XML文件中的位置信息;
[0009]根據(jù)所述位置信息,返回定位結(jié)果。
[0010]進(jìn)一步地,所述位置信息為行號(hào)信息。
[0011]進(jìn)一步地,所述行號(hào)信息為所述具有特定屬性的節(jié)點(diǎn)的起始行號(hào);或者,
[0012]所述行號(hào)信息為所述具有特定屬性的節(jié)點(diǎn)的起始行號(hào)和終止行號(hào)。
[0013]進(jìn)一步地,所述特定屬性為下述至少一種屬性:
[0014]語(yǔ)法錯(cuò)誤;
[0015]包含預(yù)設(shè)字符串。
[0016]進(jìn)一步地,所述根據(jù)所述位置信息,返回定位結(jié)果之后,還包括:
[0017]標(biāo)記在所述XML文件中的所述位置信息處的節(jié)點(diǎn)為預(yù)設(shè)顏色;或者,
[0018]顯示在所述XML文件中的所述位置信息處的節(jié)點(diǎn);或者,
[0019]刪除在所述XML文件中的所述位置信息處的節(jié)點(diǎn);或者,
[0020]修改在所述XML文件中的所述位置信息處的節(jié)點(diǎn)。
[0021]本發(fā)明實(shí)施例第二方面提供一種定位XML節(jié)點(diǎn)的裝置,包括:
[0022]接收模塊,用于接收定位指令,所述定位指令用于定位可擴(kuò)展標(biāo)記語(yǔ)言XML文件中具有特定屬性的節(jié)點(diǎn);
[0023]讀取模塊,用于依次讀取所述XML文件中的每個(gè)節(jié)點(diǎn);
[0024]獲取模塊,用于當(dāng)讀取到具有所述特定屬性的節(jié)點(diǎn)時(shí),獲取所述具有特定屬性的節(jié)點(diǎn)在所述XML文件中所處的位置信息。
[0025]處理模塊,用于根據(jù)所述位置信息,返回定位結(jié)果。
[0026]進(jìn)一步地,所述位置信息為行號(hào)信息。
[0027]進(jìn)一步地,所述行號(hào)信息為所述具有特定屬性的節(jié)點(diǎn)的起始行號(hào);或者,
[0028]所述行號(hào)信息為所述具有特定屬性的節(jié)點(diǎn)的起始行號(hào)和終止行號(hào)。
[0029]進(jìn)一步地,所述特定屬性為下述至少一種屬性:
[0030]語(yǔ)法錯(cuò)誤;
[0031]包含預(yù)設(shè)字符串。
[0032]進(jìn)一步地,還包括:
[0033]標(biāo)記模塊,用于標(biāo)記在所述XML文件中的所述位置信息處的節(jié)點(diǎn)為預(yù)設(shè)顏色;或者,
[0034]顯示模塊,用于顯示在所述XML文件中的所述位置信息處的節(jié)點(diǎn);或者,
[0035]刪除模塊,用于刪除在所述XML文件中的所述位置信息處的節(jié)點(diǎn);或者,
[0036]修改模塊,用于修改在所述XML文件中的所述位置信息處的節(jié)點(diǎn)。
[0037]本發(fā)明實(shí)施例提供的定位XML節(jié)點(diǎn)的方法和裝置,通過(guò)接收定位指令,定位指令用于定位XML文件中具有特定屬性的節(jié)點(diǎn),依次讀取XML文件中的每個(gè)節(jié)點(diǎn),當(dāng)讀取到具有特定屬性的節(jié)點(diǎn)時(shí),獲取具有特定屬性的節(jié)點(diǎn)在XML文件中的位置信息,根據(jù)位置信息返回定位結(jié)果,也就是,通過(guò)獲取具有特定屬性的節(jié)點(diǎn)在XML文件中的位置信息,定位XML文件中的具有特定屬性的節(jié)點(diǎn)從而,實(shí)現(xiàn)對(duì)XML文件中具有特定屬性的節(jié)點(diǎn)的定位。
【附圖說(shuō)明】
[0038]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1為本發(fā)明實(shí)施例所應(yīng)用的系統(tǒng)結(jié)構(gòu)示意圖;
[0040]圖2為本發(fā)明定位XML的方法實(shí)施例一的流程示意圖;
[0041]圖3為本發(fā)明定位XML的方法實(shí)施例二的流程示意圖;
[0042]圖4為本發(fā)明定位XML的裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0043]圖5為本發(fā)明定位XML的裝置實(shí)施例二的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0044]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]圖1為本發(fā)明實(shí)施例所應(yīng)用的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)100,如圖1所示,包括:總線101,以及連接到總線101的處理器102、存儲(chǔ)器103,輸入接口 104和輸出接口 105。其中,輸入接口 104用于接收I/O設(shè)備發(fā)送的數(shù)據(jù),存儲(chǔ)器103用于存儲(chǔ)代碼,例如:XML文件中的代碼。處理器102用于執(zhí)行指令,例如,對(duì)XML文件的讀寫、編碼等指令。
[0046]本發(fā)明的主要思想是通過(guò)獲取具有特定屬性的節(jié)點(diǎn)在XML文件中的位置信息(例如:行號(hào)信息),定位XML文件中的節(jié)點(diǎn)。具有特定屬性的節(jié)點(diǎn),例如可以是:語(yǔ)法錯(cuò)誤的節(jié)點(diǎn),或者包含預(yù)設(shè)字符串的節(jié)點(diǎn)等。對(duì)此,本發(fā)明不做限制,只要是在一個(gè)XML文件中定位節(jié)點(diǎn),本發(fā)明的技術(shù)方案都適用。
[0047]下面以具體地實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。下面這幾個(gè)具體的實(shí)施例可以相互結(jié)合,對(duì)于相同或相似的概念或過(guò)程可能在某些實(shí)施例不再贅述。
[0048]圖2為本發(fā)明定位XML的方法實(shí)施例一的流程示意圖,如圖2所示,本實(shí)施例的方法如下:
[0049]S201:接收定位指令。
[0050]其中,定位指令用于定位XML文件中具有特定屬性的節(jié)點(diǎn),定位指令中會(huì)包含待定位的節(jié)點(diǎn)的屬性信息。
[0051]特定屬性可以是下述至少一種屬性:
[0052]語(yǔ)法錯(cuò)誤;包含預(yù)設(shè)字符串,例如:包含字符串“abc”的節(jié)點(diǎn)。
[0053]S202:依次讀取XML文件中的每個(gè)節(jié)點(diǎn)。
[0054]也就是遍歷XML文件,以從中找到具有特定屬性的的節(jié)點(diǎn)。舉例來(lái)說(shuō),如果定位指令指示的是定位XML文件中語(yǔ)法錯(cuò)誤的節(jié)點(diǎn),則在依次讀取每個(gè)節(jié)點(diǎn)的過(guò)程中,判斷讀取的節(jié)點(diǎn)是否符合語(yǔ)法規(guī)則,若不符合,則確定不符合語(yǔ)法規(guī)則的節(jié)點(diǎn)為具有特定屬性的節(jié)點(diǎn);如果定位指令指示的是定位XML文件中包含字符串“abc”的節(jié)點(diǎn),則在依次讀取每個(gè)節(jié)點(diǎn)的過(guò)程中,判斷讀取的節(jié)點(diǎn)中是否包含字符串“abc ”,如果包含,則確定包含字符串“abc”的節(jié)點(diǎn)為具有特定屬性的節(jié)點(diǎn)。
[0055]S203:當(dāng)讀取到具有特定屬性的節(jié)點(diǎn)時(shí),獲取具有特定屬性的節(jié)點(diǎn)在XML文件中的位置信息。
[0056]其中,位置信息可以是行號(hào)信息,具體地,可以是具有特定屬性的節(jié)點(diǎn)的起始行號(hào),例如:具有特定屬性的節(jié)點(diǎn)在XML文件的第5?10行,那么,其起始行為第5行,可以獲取起始行號(hào)“5”;或者,可以是具有特定屬性的節(jié)點(diǎn)的起始行號(hào)和終止行號(hào),例如:具有特定屬性的節(jié)點(diǎn)在XML文件的第5?10行,那么,其起始行為第5行,終止行號(hào)為第10行,可以獲取起始行號(hào)“5”和終止行號(hào)“10”;或者,可以是具有特定屬性的節(jié)點(diǎn)的任一個(gè)行號(hào)或多個(gè)行號(hào),例如:具有特定屬性的節(jié)點(diǎn)在XML文件的第5?10行,可以獲取5、6、7、8、9、10中的任一