国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何使用Visual Basic讀取XML文件

2011-08-15 00:51:33劉春雪冮波朱明
黑龍江氣象 2011年3期
關(guān)鍵詞:佳木斯黑龍江衛(wèi)星

劉春雪,冮波,朱明

(1.黑龍江省氣象信息中心,黑龍江哈爾濱 150030;2.佳木斯衛(wèi)星地面站,黑龍江佳木斯 154004;3.鐵力市氣象局,黑龍江鐵力 152500)

如何使用Visual Basic讀取XML文件

劉春雪1,冮波2,朱明3

(1.黑龍江省氣象信息中心,黑龍江哈爾濱 150030;2.佳木斯衛(wèi)星地面站,黑龍江佳木斯 154004;3.鐵力市氣象局,黑龍江鐵力 152500)

1 引言

XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)。XML是Internet環(huán)境中跨平臺(tái)的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。擴(kuò)展標(biāo)記語(yǔ)言XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡(jiǎn)單易于掌握和使用。

XML與Access,Oracle和SQL Server等數(shù)據(jù)庫(kù)不同,數(shù)據(jù)庫(kù)提供了更強(qiáng)有力的數(shù)據(jù)存儲(chǔ)和分析能力,例如:數(shù)據(jù)索引、排序、查找、相關(guān)一致性等,XML僅僅是展示數(shù)據(jù)。事實(shí)上XML與其他數(shù)據(jù)表現(xiàn)形式最大的不同是:它極其簡(jiǎn)單。這是一個(gè)看上去有點(diǎn)瑣細(xì)的優(yōu)點(diǎn),但正是這點(diǎn)使XML與眾不同。

XML文件是一個(gè)樹形結(jié)構(gòu)的文件,文件有一個(gè)根節(jié)點(diǎn),根節(jié)點(diǎn)下面有若干的子節(jié)點(diǎn)。每個(gè)子節(jié)點(diǎn)下面可能還有若干的子節(jié)點(diǎn)。

XML語(yǔ)言在氣象業(yè)務(wù)中也正在廣泛的使用,佳木斯衛(wèi)星地面站的軌道報(bào)就是XML格式的文件,區(qū)域站的站號(hào)表是XML格式的,自動(dòng)土壤水分觀測(cè)系統(tǒng)的站號(hào)表文件也是XML格式的。因此,使用編程語(yǔ)言對(duì)XML文件的讀取對(duì)對(duì)工作是一件十分必要的事情。

2 功能實(shí)現(xiàn)

佳木斯衛(wèi)星地面站是我們國(guó)家一個(gè)重要的衛(wèi)星地面站,每天接收風(fēng)云2號(hào)下發(fā)的衛(wèi)星資料。每天早晨08:00左右,國(guó)家氣象衛(wèi)星中心通過(guò)風(fēng)云2號(hào)將軌道報(bào)廣播下來(lái),軌道報(bào)文件的格式是XML的,文件的子節(jié)點(diǎn)中里包含著每天佳木斯衛(wèi)星地面站對(duì)應(yīng)的接收風(fēng)云2號(hào)資料的時(shí)間,每天的衛(wèi)星資料接收工作需要讀取這個(gè)文件中每個(gè)子節(jié)點(diǎn)內(nèi)容,以確定雷達(dá)開機(jī)的時(shí)間。

下面就以如何讀取佳木斯衛(wèi)星地面站的軌道報(bào)為例,闡述一下如何通過(guò)Visual Basic讀取XML文件。

軌道報(bào)存儲(chǔ)路徑及文件名:d:/fy2_trans/IFLAllSat-PassTime20100517.xml

開發(fā)語(yǔ)言:Visual Basic

首先運(yùn)行VisualBasic,新建工程,并且在引用中選中Microsoft XML5.0。添加命令按鈕其name屬性的值為Command1,添加一個(gè)文本框,其name屬性的值為Txt_xml,為了將程序讀取XML文件之后的值顯示出來(lái)。

2.1 根節(jié)點(diǎn)的讀取

定義一個(gè)DOMDocument對(duì)象,名字為xml,執(zhí)行xml的Load方法,裝入d:/fy2_trans/IFLAllSatPassTime20100517.xml文件。定義一個(gè)IXMLDOMElement對(duì)象,其名稱為root,代表XML文件的根節(jié)點(diǎn),將root對(duì)象賦值為xml.documentElement。

Root對(duì)象就是XML的根節(jié)點(diǎn),其屬性text的值就是根節(jié)點(diǎn)及下屬所有子節(jié)點(diǎn)的text值,通常程序中并不使用根節(jié)點(diǎn)的text屬性,因?yàn)槠浒膬?nèi)容太多;程序通常是使用其某個(gè)特定子節(jié)點(diǎn)的內(nèi)容,這樣就需要對(duì)其子節(jié)點(diǎn)進(jìn)行尋找。

2.2 子節(jié)點(diǎn)的讀取

root對(duì)象的childNodes屬性是一個(gè)對(duì)象,表示其下屬的所有子節(jié)點(diǎn),可以通過(guò)for each語(yǔ)句來(lái)遍歷根節(jié)點(diǎn)下面的所有子節(jié)點(diǎn)。在實(shí)際工作中,程序需要讀取一個(gè)具體子節(jié)點(diǎn)的內(nèi)容,這個(gè)子節(jié)點(diǎn)相對(duì)根節(jié)點(diǎn)可能是第一層,也可能是第二層,還有可能是第三層。這時(shí)需要通過(guò)IXMLDOMNode對(duì)象的selectS-ingleNode屬性來(lái)實(shí)現(xiàn),比如軌道報(bào)中經(jīng)常使用其Num子節(jié)點(diǎn)的內(nèi)容、transferMode子節(jié)點(diǎn)的內(nèi)容,transferMode節(jié)點(diǎn)下的BeginTime子節(jié)點(diǎn)的內(nèi)容,對(duì)于這樣的多層節(jié)點(diǎn)內(nèi)容,要用多層的selectSingleNod來(lái)實(shí)現(xiàn)。Node.selectSingleNode(“Num”). Text表示Num子節(jié)點(diǎn)的內(nèi)容,Node.selectSingleNode(“Transfer-Mode”).selectSingleNode(“BeginTime”).Text表示transferMode節(jié)點(diǎn)下的BeginTime的內(nèi)容。

遍歷了root節(jié)點(diǎn)下的各個(gè)子節(jié)點(diǎn)內(nèi)容后,可以通過(guò)文本框Txt_xml將顯示出來(lái),觀察一下文本框顯示的內(nèi)容,可以判斷程序執(zhí)行的是否成功。

3 小結(jié)

XML語(yǔ)言是一種使用廣泛的標(biāo)記語(yǔ)言,其容易使用的特性使其在未來(lái)會(huì)用很大應(yīng)用空間,其在氣象方面的應(yīng)用也越來(lái)越多。文章通過(guò)詳細(xì)的說(shuō)明,介紹如何通過(guò)Visual Basic語(yǔ)言讀取XML文件的內(nèi)容。本文源碼全部經(jīng)過(guò)調(diào)試,讀者如果感興趣,自己做實(shí)驗(yàn)調(diào)試一下。

1002-252X(2011)03-0043-01

2011-6-6

劉春雪(1969-),女,黑龍江省哈爾濱市人,哈爾濱廣播電視大學(xué),大專生,工程師.

猜你喜歡
佳木斯黑龍江衛(wèi)星
miniSAR遙感衛(wèi)星
淺談佳木斯站減速頂?shù)膽?yīng)用、管理及設(shè)備的專業(yè)化維修
Homeless children in India publish newspaper
佳木斯防爆電機(jī)研究所
佳木斯大學(xué)張莉莉水彩作品選登
靜止衛(wèi)星派
科學(xué)家(2019年3期)2019-08-18 09:47:43
Write a caption
黑龍江棄風(fēng)博弈
能源(2016年1期)2016-12-01 05:10:04
Puma" suede shoes with a focus on the Product variables
尤勁東繪畫小說(shuō)《把畫送往佳木斯》選頁(yè)
秀山| 西安市| 崇仁县| 石屏县| 石渠县| 城步| 中卫市| 溆浦县| 遵化市| 沂南县| 西乡县| 新密市| 保山市| 金山区| 崇仁县| 竹溪县| 石嘴山市| 怀来县| 山东省| 丹江口市| 玉门市| 苏尼特左旗| 腾冲县| 四会市| 南溪县| 绍兴市| 读书| 华蓥市| 龙泉市| 宣武区| 盐源县| 夏邑县| 乌苏市| 弋阳县| 镇安县| 清原| 平和县| 浪卡子县| 延寿县| 安溪县| 蛟河市|