自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談Visual Basic 9.0的XML字面量及后期綁定

開(kāi)發(fā)
本文將介紹Visual Basic 9.0的XML字面量和XML后期綁定。Visual Basic 9.0專門(mén)為XML集成設(shè)置了一個(gè)開(kāi)發(fā)組,力求將XML語(yǔ)言與Visual Basic語(yǔ)言完全結(jié)合,使Visual Basic成為全行業(yè)對(duì)XML支持最佳的開(kāi)發(fā)工具。

Visual Basic 9.0 新特性都基于微軟的XLinq——新一代支持語(yǔ)言集成查詢的XML框架。使用XLinq可以按照XML邏輯樹(shù)狀對(duì)象模型來(lái)建立和訪問(wèn)。關(guān)于XLinq我們不想過(guò)多介紹,有興趣的讀者可以參閱相關(guān)資料,我們要介紹的是,VB9為XLinq所做的驚人語(yǔ)法。

XML字面量

你有沒(méi)有想過(guò)在一種編程語(yǔ)言里創(chuàng)建XML可以達(dá)到多么簡(jiǎn)單?Visual Basic 9.0支持直接X(jué)ML文檔的原始結(jié)構(gòu)作為字面量,也就是說(shuō),Visual Basic 9.0里可以直接寫(xiě):

以下是引用片段:

  1. Dim x = Mordern Operating Systems  

這么寫(xiě),VB不僅僅吧它當(dāng)作一個(gè)字符串,而是可以幫你做XML結(jié)構(gòu)的檢查,而且編譯器了解這一XML的結(jié)構(gòu),因此會(huì)有智能感知的幫助。你可以將XML字面量分成多行編寫(xiě),直到遇到根元素的終結(jié)(例子中的)才判斷XML字面量寫(xiě)完,因此無(wú)須使用續(xù)行符。這也就是說(shuō),VB的XML可以表達(dá)一個(gè)以單元素為根的XML結(jié)構(gòu)片斷。如果XML字面量?jī)H僅是這樣,就沒(méi)有多大意思了。我們可以讓這個(gè)XML字面量中的數(shù)據(jù)動(dòng)態(tài)化:

以下是引用片段:

  1.  Dim rootName = "Books"   
  2. Dim b As New Book {Author :"A. S. Tanenbaum", Title :"Mordern Operating Systems", ID :20 }   
  3. Dim x = <(rootName)>  

我們觀察一下上面的代碼,元素名稱Books可以用變量來(lái)指定,只要在括號(hào)組成的“洞”填入即可,相應(yīng)的關(guān)閉標(biāo)記則變成這很重要,因?yàn)樵孛Q已經(jīng)是動(dòng)態(tài)決定的了,所以引入特定寫(xiě)法根據(jù)位置來(lái)關(guān)閉相應(yīng)標(biāo)記。我們看到,attribute的值也可以用洞來(lái)填入(attribute的名稱也可以用相同語(yǔ)法),但是標(biāo)記的Inner Text部分則不能使用洞,而是要使用這種類似于ASP.net數(shù)據(jù)綁定的語(yǔ)法,這稱為代碼嵌入。 這已經(jīng)很強(qiáng)大并且激動(dòng)人心了,不是嗎?但還不夠,我們可以把查詢包含的語(yǔ)法嵌入到XML字面量中。假設(shè)我們有一組Book要生成:

以下是引用片段: 

  1. Dim books = GetBooks() '假設(shè)用別的代碼生成了Book類型的集合  
  2.  
  3. Dim x = _ 
  4. <(rootName)> 
  5.   <%= Select   
  6.     <Book author=(b.Author)><%= b.Title %></Book> 
  7.   From b In books Where b.ID > 5 %> 
  8. </> 

我們用代碼嵌入的手段,將類似于SQL的查詢包含直接插入到XML字面量中去了。其結(jié)果很顯然,是生成了下的列表。使用XML字面量,我們可以非常靈活地組合和生成我們想要得XML;也可以把XML直接拷貝粘貼到VB的IDE中,稍加修改而成為你自己的XML生成器。XML字面量還完善支持XML的namespace等特性。有了VB9,還需要XSLT嗎?難說(shuō)……

XML后期綁定

現(xiàn)在我們有了生成XML的手段,那么訪問(wèn)XML的手段呢?Visual Basic 9.0提供了XML后期綁定,我們可以用最簡(jiǎn)單的語(yǔ)法來(lái)訪問(wèn)XML。假設(shè)我們有剛才生成的Books文檔,則可以用下列語(yǔ)法直接訪問(wèn)到它的某一個(gè)Book

以下是引用片段:

  1.  Dim title = x.Books.Book(0).InnerText   
  2. Dim author = x.Books.Book.@author  

'這語(yǔ)法很類似于XPath,我們還可以做到XPath的//的功效:

For Each Dim book In x.Books...Book

'遍歷每一個(gè)Book元素

只要3個(gè)點(diǎn),就可以把Books下邊所有層次的Book都找到,然后直接就可以遍歷。當(dāng)然我們還可以用查詢包含,使用SQL語(yǔ)法來(lái)查詢XML文檔??傊赩isual Basic 9.0中使用XML會(huì)是一種***的體驗(yàn)。

現(xiàn)在Visual Basic 9.0的新特性已經(jīng)介紹完了,這確實(shí)是一個(gè)有著巨大進(jìn)步的版本,同時(shí)特別注重用戶體驗(yàn)的改善,保持著簡(jiǎn)單易用的特點(diǎn)。

【相關(guān)文章】

  1. Visual Basic 9.0概述
  2. Visual Basic 9.0之動(dòng)態(tài)標(biāo)識(shí)符
  3. C#和Visual Basic漸行漸遠(yuǎn)之匿名類型
  4. Visual Basic靜態(tài)數(shù)組的定義方法
  5. Visual Basic 未來(lái)已定
責(zé)任編輯:彭凡 來(lái)源: IT專家網(wǎng)論壇
相關(guān)推薦

2021-10-09 07:10:30

Go字面量組合

2009-10-19 15:07:17

Visual Basi

2020-03-16 09:25:10

微軟瀏覽器Windows

2009-09-02 16:21:17

Visual BasiC#語(yǔ)言

2012-05-30 15:57:49

ERP項(xiàng)目運(yùn)維

2020-03-31 16:30:09

JS語(yǔ)言ES 6

2020-04-02 09:01:54

JSES 6開(kāi)發(fā)

2009-10-19 14:19:24

Visual Basi

2012-05-29 16:22:02

SpringMVC

2009-03-11 10:00:50

Windows 7VB

2009-12-10 14:11:54

Visual Basi

2009-10-09 17:33:11

VB.NET

2009-10-09 17:16:53

VB.NET

2009-08-10 16:47:45

Visual C#數(shù)據(jù)

2022-06-08 08:01:28

模板字面量類型

2009-07-14 11:51:00

XML壓縮

2010-05-14 12:00:36

2009-12-11 14:50:14

Visual Basi

2010-09-29 14:06:09

Visual Basi

2009-12-03 16:50:58

Visual Basi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)