visualbasic9.0:有关Visual Basic 9.0的XML字面量和XML后期绑定

  Visual Basic 9.0专门为XML集成设置了个开发组力求将XML语言和Visual Basic语言完全结合使Visual Basic成为全行业对XML支持最佳开发工具这些新特性都基于微软XLinq——新代支持语言集成查询XML框架使用XLinq可以按照XML逻辑树状对象模型来建立和访问有关XLinq我们不想过多介绍有兴趣读者可以参阅相关资料我们要介绍VB9为XLinq所做惊人语法

  XML字面量

  你有没有想过在种编程语言里创建XML可以达到多么简单?VB9支持直接XML文档原始结构作为字面量也就是说VB9里可以直接写:

  以下是引用片段:


  Dim x = Mordern Operating s


  这么写VB不仅仅吧它当作而是可以帮你做XML结构检查而且编译器了解这XML结构因此会有智能感知帮助你可以将XML字面量分成多行编写直到遇到根元素终结(例子中)才判断XML字面量写完因此无须使用续行符这也就是说VBXML可以表达个以单元素为根XML结构片断如果XML字面量仅仅是这样就没有多大意思了我们可以让这个XML字面量中数据动态化:

  以下是引用片段:


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


  我们观察下上面代码元素名称Books可以用变量来指定只要在括号组成“洞”填入即可相应关闭标记则变成这很重要元素名称已经是动态决定所以引入特定写法根据位置来关闭相应标记我们看到attribute值也可以用洞来填入(attribute名称也可以用相同语法)但是标记Inner Text部分则不能使用洞而是要使用这种类似于ASP.net数据绑定语法这称为代码嵌入 这已经很强大并且激动人心了不是吗?但还不够我们可以把查询包含语法嵌入到XML字面量中假设我们有组Book要生成:

  以下是引用片段:

 

Dim books = GetBooks '假设用别代码生成了Book类型集合

Dim x = _
<(rootName)>
<%= Select
<Book author=(b.Author)><%= b.Title %></Book>
From b In books Where b.ID > 5 %>
</>

  

  我们用代码嵌入手段将类似于SQL查询包含直接插入到XML字面量中去了其结果很显然是生成了下列表使用XML字面量我们可以非常灵活地组合和生成我们想要得XML;也可以把XML直接拷贝粘贴到VBIDE中稍加修改而成为你自己XML生成器XML字面量还完善支持XML等特性有了VB9还需要XSLT吗?难说……

  XML后期绑定

  现在我们有了生成XML手段那么访问XML手段呢?Visual Basic 9.0提供了XML后期绑定我们可以用最简单语法来访问XML假设我们有刚才生成Books文档则可以用下列语法直接访问到它个Book

  以下是引用片段:


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


  '这语法很类似于XPath我们还可以做到XPath//功效:

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

  '遍历每个Book元素

  只要3个点就可以把Books下边所有层次Book都找到然后直接就可以遍历当然我们还可以用查询包含使用SQL语法来查询XML文档总的在Visual Basic 9.0中使用XML会是种前所未有体验

  现在Visual Basic 9.0新特性已经介绍完了这确实是个有着巨大进步版本同时特别注重用户体验改善保持着简单易用特点
Tags:  微软visualbasic visualbasic6.0 visualbasic visualbasic9.0

延伸阅读

最新评论

发表评论