关于Visual Basic 9.0的XML字面量和XML后期绑定
日期:2007年9月23日 作者: 查看:[大字体 中字体 小字体]-
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 Systems这么写,VB不仅仅吧它当作一个字符串,而是可以帮你做XML结构的检查,而且编译器了解这一XML的结构,因此会有智能感知的帮助。你可以将XML字面量分成多行编写,直到遇到根元素的终结(例子中的)才判断XML字面量写完,因此无须使用续行符。这也就是说,VB的XML可以表达一个以单元素为根的XML结构片断。如果XML字面量仅仅是这样,就没有多大意思了。我们可以让这个XML字面量中的数据动态化:
以下是引用片段:
Dim rootName = "Books"
Dim b As New Book {Author := "A. S. Tanenbaum", Title := "Mordern Operating Systems", ID := 20 }Dim x = <(rootName)><Book author=(b.Author)><%= b.Title %></Book></>
我们观察一下上面的代码,元素名称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直接拷贝粘贴到VB的IDE中,稍加修改而成为你自己的XML生成器。XML字面量还完善支持XML的namespace等特性。有了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元素
Next只要3个点,就可以把Books下边所有层次的Book都找到,然后直接就可以遍历。当然我们还可以用查询包含,使用SQL语法来查询XML文档。总之,在Visual Basic 9.0中使用XML会是一种前所未有的体验。
现在Visual Basic 9.0的新特性已经介绍完了,这确实是一个有着巨大进步的版本,同时特别注重用户体验的改善,保持着简单易用的特点。
(出处:急速软件下载学院)
-
- 关于Visual Basic 9.0的XML字面量和XML后期绑定 相关文章:
- ·Fireworks教程 液体金属表面特效制作
- ·用JavaScript刷新框架子页面的方法
- ·基本的页面设计元素布局比例
- ·Windows远程桌面实现远程控制
- ·打造Windows Vista的完全控制面板
- ·多方面分析选择商业网站的域名
- ·回忆曾经的童年 纯朴天真的画面
- ·ASP.Net利用CSS实现多界面的方法
- ·平面设计中字库使用的问题解答
- ·css里expression实现界面对象的批量控制
- 关于Visual Basic 9.0的XML字面量和XML后期绑定 相关软件
- ·《炽天使:二战空骑兵》界面汉化补丁
- ·3D桌面台球
- ·双面特工
- ·《宝岛Z 红胡子的秘宝》新游戏画面
- ·X360《剑豪 ZERO》最新视频画面
- ·《鬼泣4》E32007官方游戏画面视频
- ·《超级马里奥银河》新视频及画面公布
- ·顶级画面《虚幻竞技场3》震撼截图
- ·《勇者斗恶龙假面女王与镜之塔》视频公开
- ·《印第安纳琼斯的桌面冒险》试玩
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:用SQL建立索引
精品推荐
热点TOP10
- ·图象处理中的边缘检测------canny算子
- ·EZ-USB 68013A开发指南
- ·数值计算程序大放送-特征值和特征向量
- ·ARM的嵌入式Linux移植体验之BootLoader
- ·Visual C++ ADO数据库编程入门
- ·智能手机Smartphone开发导语
- ·利用 wordXP 实现自动排班
- ·[分形]DLA团簇模型的摸拟
- ·DENX U-Boot及Linux使用手册
- ·Visual FoxPro 9.0 SP2正式版下载
- ·VS2005控件的问题解决办法
- ·Cookie是什么?用法是怎样?与SESSION有什么区别?
- ·J2SE API读取Properties文件的六种方法
- ·Silverlight、JavaFX、Flex技术比较
- ·Silverlight将不再支持ArrayList类型
- ·教程:XSLT Designer快速入门指南
- ·创建Web应用和Struts框架配置文件实例
- ·Spring入门指引:理解Spring的打包方式
- ·UDT协议-基于UDP的可靠数据传输协议
- ·解析KJava在移动设备开发中的应用
