一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

VB和VB.NET中的XML操作(2)

 zele 2010-10-23
 XSL(可擴(kuò)展樣式表語言)是對(duì)CSS的一種擴(kuò)展,功能比CSS強(qiáng)大得多。XML鏈接是在HTML鏈接的功能之上加以擴(kuò)展,可以支持更為復(fù)雜的鏈接,通過XML鏈接,不僅可以在XML文件之間建立鏈接,還可以建立其他類型數(shù)據(jù)之間的鏈接,其規(guī)范分為三個(gè)部分:XLink語言,XPointer語言和XML Base.

  XML標(biāo)準(zhǔn)體系中還有其他很多技術(shù),比如針對(duì)DTD的不足而提出的XML Schema,對(duì)XML文檔進(jìn)行結(jié)構(gòu)話處理的DOM等,由于篇幅的關(guān)系,在這就不一一列舉,不熟悉的請(qǐng)參考有關(guān)書籍。

  好了,現(xiàn)在讓我們開始進(jìn)入正題——對(duì)XML的操作。首先,請(qǐng)保證您的電腦中有最新版本的MSXML,微軟XML核心服務(wù)(MSXML)版本4.0提供了從Visual Basic6.0加載和存儲(chǔ)XML文檔的工具。若沒有,請(qǐng)到http://msdn.microsoft.com/xml/default.asp中下載最新版本的MSXML,并安裝在計(jì)算機(jī)上。在Visual Basic 6.0中使用Microsoft XML V4.0對(duì)象引用其他對(duì)象一樣,首先在工程菜單中選擇引用菜單項(xiàng),選擇Microsoft V4.0,單擊OK,一切完成后就現(xiàn)在就可以在VB應(yīng)用程序中添加XML對(duì)象了。如圖:



  萬事俱備,我們先用VB和MSXML的COM接口的DOM實(shí)現(xiàn)的一個(gè)例子來對(duì)XML操作進(jìn)行初步的了解吧。

  首先聲明下面要用的幾個(gè)對(duì)象的變量:

Dim tempdoc As DOMDocument
Dim tempnode As IXMLDOMNode
Dim tempelement As IXMLDOMElement
Dim tempattribute As IXMLDOMElement
Dim root As IXMLDOMElement

  文檔對(duì)象模型(DOM)使用了一系列相應(yīng)的對(duì)象描述了XML文檔的等級(jí)狀態(tài),DOMDocument類是一個(gè)描繪XML文檔的DOM結(jié)構(gòu)的MSXML類。DOMDocument類僅僅提供了很少的幾個(gè)有用的屬性和方法,例如:Load方法載入一個(gè)xml文件,loadxml方法將字符串作為xml數(shù)據(jù)添加到對(duì)象中。DOMDocument的xml屬性返回文檔的xml描述,可以顯示這些返回值看看這些文檔究竟是什么樣子,也可以將它存儲(chǔ)為一個(gè)文件,DOMDocument對(duì)象的documentElement屬性表示文檔數(shù)據(jù)的根結(jié)點(diǎn),通常情況下操作XML文檔都從這里開始。DOMDocument提供了幾種創(chuàng)建新節(jié)點(diǎn)的方法。CreateElement方法為文檔創(chuàng)建一個(gè)新的元素節(jié)點(diǎn),其他創(chuàng)建節(jié)點(diǎn)的方法有createAttribute, createProcessingInstruction, 和 createTextNode,在這里就不一一介紹了。

  IXMLDOMNode類描述了一個(gè)節(jié)點(diǎn),該類提供了一系列用于搜索和操縱XML文檔的屬性和方法。selectSingleNode 方法用于搜索指定節(jié)點(diǎn)的后代,用于搜索指定節(jié)點(diǎn)路徑的語言稱為XPATH,XPATH非常棘手,本文就不詳細(xì)說明其規(guī)范了。在IXMLDOMNode對(duì)象中,有許多有用的屬性值:

  attributes.節(jié)點(diǎn)屬性集合
  nodeName.節(jié)點(diǎn)的標(biāo)記名
  nodeTypeString.節(jié)點(diǎn)的類型
  ownerDocument.返回DOMDocument對(duì)象包含的節(jié)點(diǎn)
  text.表示節(jié)點(diǎn)包含的文本內(nèi)容。如果該節(jié)點(diǎn)包含其他節(jié)點(diǎn),那么text代表了所有節(jié)點(diǎn)的文本內(nèi)容的組合。
  
  xml.給出了節(jié)點(diǎn)的xml內(nèi)容,例如:"<Email>hongwanfu@yahoo.com</Email>".

  ChildNodes集合包含了節(jié)點(diǎn)的子節(jié)點(diǎn)。要給節(jié)點(diǎn)增加一個(gè)子節(jié)點(diǎn),首先必須給使用DOMDocument對(duì)象的節(jié)點(diǎn)創(chuàng)建方法,然后將這個(gè)新建的節(jié)點(diǎn)加入到父節(jié)點(diǎn)的childNodes集合中。 ChildNodes集合包含了節(jié)點(diǎn)的子節(jié)點(diǎn)。要給節(jié)點(diǎn)增加一個(gè)子節(jié)點(diǎn),首先必須給使用DOMDocument對(duì)象的節(jié)點(diǎn)創(chuàng)建方法,然后將這個(gè)新建的節(jié)點(diǎn)加入到父節(jié)點(diǎn)的childNodes集合中。

  由于每個(gè)節(jié)點(diǎn)類型都有不同的訪問方法和內(nèi)容限制,有時(shí)候使用特定類型的節(jié)點(diǎn)要比使用通用 IXMLDOMNode 對(duì)象更容易。要做到這一點(diǎn),需要使用 IXMLDOMElement 對(duì)象來處理 XML 數(shù)據(jù)元素和屬性。正如元素可以包含 XML 數(shù)據(jù)文件中的子元素、文本、注釋、處理說明、CDATA 部分和實(shí)體引用一樣,IXMLDOMElement 對(duì)象也可以包含 IXMLDOMElement、IXMLDOMText、IXMLDOMComment、IXMLDOMProcessingInstruction、IXMLDOMCDATASection 和 IXMLDOMEntityReference 對(duì)象。可以通過使用 IXMLDOMElement 對(duì)象的 getAttribute 和 setAttribute 方法來訪問屬性;或者通過 IXMLDOMElement 對(duì)象的 attributes 屬性,將屬性作為 IXMLDOMNamedNodeMap 對(duì)象進(jìn)行管理。有關(guān)使用這些方法和對(duì)象的詳細(xì)信息,請(qǐng)參閱 MSXML 4.0 SDK Help。

  接下來我們要做的是生成一個(gè)XML DOMDocument 對(duì)象 :

Set tempdoc = New DOMDocument

  生成根節(jié)點(diǎn)并把它設(shè)置為文件的根 :

Set root = tempdoc.createElement("Personal")
Set tempdoc.documentElement = root

  生成孩子節(jié)點(diǎn)添加到根節(jié)點(diǎn)上去,并且為這個(gè)節(jié)點(diǎn)設(shè)置一個(gè)屬性 :
  
Set tempnode = tempdoc.createNode(NODE_ELEMENT, "Web", "")
tempnode.Text = " http://hongwanfu.126.com "
root.appendChild tempnode

  取得元素節(jié)點(diǎn)的接口,添加屬性:

Set tempelement = tempnode
tempelement.setAttribute "Type", "Homepage"

  最后,寫XML文件:

Open "CreateXMLFile.xml" for output as #1
Print #1, root.XML
Close #1

  下面就是上面程序生成的CreateXMLFile.xml文件的內(nèi)容如圖:


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    少妇在线一区二区三区| 美女被后入视频在线观看| 久久青青草原中文字幕| 热情的邻居在线中文字幕| 国产精品久久久久久久久久久痴汉| 成人精品一级特黄大片| 日韩女优视频国产一区| 麻豆国产精品一区二区| 色婷婷激情五月天丁香| 日本在线视频播放91| 粉嫩国产美女国产av| 大香蕉久久精品一区二区字幕| 欧美国产日产在线观看| 欧美一级黄片欧美精品| 国产午夜精品久久福利 | 成人精品一级特黄大片| av免费视屏在线观看| 久久女同精品一区二区| 五月天丁香婷婷狠狠爱| 免费人妻精品一区二区三区久久久| 国产色一区二区三区精品视频| 国产精品一区二区三区日韩av | 精品国产品国语在线不卡| 国产不卡一区二区四区| 91人妻人人澡人人人人精品| 嫩呦国产一区二区三区av| 99秋霞在线观看视频| 欧美日韩在线观看自拍| 欧美乱码精品一区二区三| 欧美日韩免费观看视频| 日本免费一本一二区三区| 中文字幕精品少妇人妻| 91偷拍裸体一区二区三区| 欧美一级黄片欧美精品| 亚洲中文字幕综合网在线| 激情爱爱一区二区三区| 国产日韩中文视频一区| 国产午夜福利片在线观看| 国产熟女一区二区精品视频| 亚洲精品一二三区不卡| 五月婷婷六月丁香狠狠|