e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 程序开发 >> ASP.net教程 >> VB和VB.NET中的XML操作 >> 教程正文
 
教程搜索
 
 
相关教程
  • C++/CLI实战——HELLO
  • VC编写简单的序列号(SN)填写器
  • Visual Studio 2005体验泛型编程
  • C++/CLI基本数据类型探索
  • 用托管C++编写Windows服务
  • Visual C++ 2005图像编程之属性设置栏
  • Visual C++ 2005图像编程之工具栏
  • Visual C++ 2005图像编程之预备知识
  • 把其他C/C++编译器集成到VC2005中
  • VC.NET实现清爽便利的Windows游戏窗口
  • C++:最强大的.NET语言之可访问性
  • C++:最强大的.NET语言之装箱
  • C++:最强大的.NET语言之内存与资源
  • C++:最强大的.NET语言之对象构造
  • Visual C++2005中开发自定义绘图控件
  • C++/CLI程序进程之间的通讯
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
VB和VB.NET中的XML操作
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

概述:这篇文章为计划将他们的应用程序更新到Visual Basic.NET的微软Visual Basic 开发用户提供一些关于XML的建议。主要包括Visual Basic 6和Visual Basic.NET对XML操作的不同之处,以及Visual Basic.NET关于这方面新增工具的应用。 概述:这篇文章为计划将他们的应用程序更新到Visual Basic.NET的微软Visual Basic 开发用户提供一些关于XML的建议。主要包括Visual Basic 6和Visual Basic.NET对XML操作的不同之处,以及Visual Basic.NET关于这方面新增工具的应用。 扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,可以说,“没有XML,就没有编程的未来”。 XML主要应用在以下几个方面: 1. 设计标记语言,如CML,MathML, WML等。 2. 数据交换和数据整合,这是XML最激动人心的应用。 3. 媒体无关的数据发布 4. 智能代理和本地计算 5. 精确搜索 6. 文件保值 XML的语法非常的简单,XML文档由节点组成,使用打开和关闭节点描述标记,在格式上与HTML标记非常相似,它们之间最大的不同是:XML中可以自由定义标记名。比如下面的标记就描述了一个主页地址: <web>http://hongwanfu.126.com</web> 注意,XML不用声明标记名就可以使用,而且,开始和结束标记必须相同,XML是识别大小写的,所以标记的大小写也必须相同。 节点标记中可以包含属性,比如: <web type=”Homepage”>http://hongwanfu.126.com</web> 代码中Web节点包含属性Type,其值为Homepage. 如果不愿意在节点中包含一个值,那么可以不需要结束标记,可以用在开始标记的后面加一个斜线来结束节点,在下面的例子中,Web标记的属性就存储了一个电话号码,所以就不需要一个结束标记: <web type=”Homepage” url=”http://hongwanfu.126.com” /> 以上只是对XML文档的简单描述,如何使用文档中包含的信息,XML标准体系中有其他的配套标准。 XSL(可扩展样式表语言)是对CSS的一种扩展,功能比CSS强大得多。XML链接是在HTML链接的功能之上加以扩展,可以支持更为复杂的链接,通过XML链接,不仅可以在XML文件之间建立链接,还可以建立其他类型数据之间的链接,其规范分为三个部分:XLink语言,XPointer语言和XML Base. XML标准体系中还有其他很多技术,比如针对DTD的不足而提出的XML Schema,对XML文档进行结构话处理的DOM等,由于篇幅的关系,在这就不一一列举,不熟悉的请参考有关书籍。 好了,现在让我们开始进入正题——对XML的操作。首先,请保证您的电脑中有最新版本的MSXML,微软XML核心服务(MSXML)版本4.0提供了从Visual Basic6.0加载和存储XML文档的工具。若没有,请到http://msdn.microsoft.com/xml/default.asp中下载最新版本的MSXML,并安装在计算机上。在Visual Basic 6.0中使用Microsoft XML V4.0对象引用其他对象一样,首先在工程菜单中选择引用菜单项,选择Microsoft V4.0,单击OK,一切完成后就现在就可以在VB应用程序中添加XML对象了。如图: 万事俱备,我们先用VB和MSXML的COM接口的DOM实现的一个例子来对XML操作进行初步的了解吧。 首先声明下面要用的几个对象的变量: Dim tempdoc As DOMDocument Dim tempnode As IXMLDOMNode Dim tempelement As IXMLDOMElement Dim tempattribute As IXMLDOMElement Dim root As IXMLDOMElement 文档对象模型(DOM)使用了一系列相应的对象描述了XML文档的等级状态,DOMDocument类是一个描绘XML文档的DOM结构的MSXML类。DOMDocument类仅仅提供了很少的几个有用的属性和方法,例如:Load方法载入一个xml文件,loadxml方法将字符串作为xml数据添加到对象中。DOMDocument的xml属性返回文档的xml描述,可以显示这些返回值看看这些文档究竟是什么样子,也可以将它存储为一个文件,DOMDocument对象的documentElement属性表示文档数据的根结点,通常情况下操作XML文档都从这里开始。DOMDocument提供了几种创建新节点的方法。CreateElement方法为文档创建一个新的元素节点,其他创建节点的方法有createAttribute, createProcessingInstruction, 和 createTextNode,在这里就不一一介绍了。 IXMLDOMNode类描述了一个节点,该类提供了一系列用于搜索和操纵XML文档的属性和方法。selectSingleNode 方法用于搜索指定节点的后代,用于搜索指定节点路径的语言称为XPATH,XPATH非常棘手,本文就不详细说明其规范了。在IXMLDOMNode对象中,有许多有用的属性值: attributes.节点属性集合 nodeName.节点的标记名 nodeTypeString.节点的类型 ownerDocument.返回DOMDocument对象包含的节点 text.表示节点包含的文本内容。如果该节点包含其他节点,那么text代表了所有节点的文本内容的组合。 xml.给出了节点的xml内容,例如:"<Email>hongwanfu@yahoo.com</Email>". ChildNodes集合包含了节点的子节点。要给节点增加一个子节点,首先必须给使用DOMDocument对象的节点创建方法,然后将这个新建的节点加入到父节点的childNodes集合中。 ChildNodes集合包含了节点的子节点。要给节点增加一个子节点,首先必须给使用DOMDocument对象的节点创建方法,然后将这个新建的节点加入到父节点的childNodes集合中。 由于每个节点类型都有不同的访问方法和内容限制,有时候使用特定类型的节点要比使用通用 IXMLDOMNode 对象更容易。要做到这一点,需要使用 IXMLDOMElement 对象来处理 XML 数据元素和属性。正如元素可以包含 XML 数据文件中的子元素、文本、注释、处理说明、CDATA 部分和实体引用一样,IXMLDOMElement 对象也可以包含 IXMLDOMElement、IXMLDOMText、IXMLDOMComment、IXMLDOMProcessingInstruction、IXMLDOMCDATASection 和 IXMLDOMEntityReference 对象。可以通过使用 IXMLDOMElement 对象的 getAttribute 和 setAttribute 方法来访问属性;或者通过 IXMLDOMElement 对象的 attributes 属性,将属性作为 IXMLDOMNamedNodeMap 对象进行管理。有关使用这些方法和对象的详细信息,请参阅 MSXML 4.0 SDK Help。 接下来我们要做的是生成一个XML DOMDocument 对象 : Set tempdoc = New DOMDocument 生成根节点并把它设置为文件的根 : Set root = tempdoc.createElement("Personal") Set tempdoc.documentElement = root 生成孩子节点添加到根节点上去,并且为这个节点设置一个属性 : Set tempnode = tempdoc.createNode(NODE_ELEMENT, "Web", "") tempnode.Text = " http://hongwanfu.126.com " root.appendChild tempnode 取得元素节点的接口,添加属性: Set tempelement = tempnode tempelement.setAttribute "Type", "Homepage" 最后,写XML文件: Open "CreateXMLFile.xml" for output as #1 Print #1, root.XML Close #1 下面就是上面程序生成的CreateXMLFile.xml文件的内容如图: 熟悉了如何用Visual Basic 6创建XML文件,接下来,我们将编写一个程序,使得程序开始运行时,程序从XML文件中加载数据,在程序运行结束时,将程序中的现行值存入XML文件中。 首先,建立一个名叫Personal.xml的文件: <?xml version="1.0" encoding="GB2312"?><个人信息><姓名>洪万福</姓名><性别>男</性别><出生日期>1983年x月x日</出生日期><地址>福建省厦门市集美大学水产学院新区270#</地址><邮编>361021</邮编><QQ>24948251</QQ><个人主页>http://hongwanfu.126.com</个人主页></个人信息> 其中,encoding="GB2312"是为了防止显示中文时出现乱码。 接着,进入Visual Basic 6,建立7个Label和7个TextBox, 具体如图: 随后,编写如下代码: Option ExplicitPrivate p_AppPath As StringPrivate Sub Form_Load() ' 获得程序运行目录 p_AppPath = App.Path If Right$(p_AppPath, 1) <> "\" Then p_AppPath = p_AppPath & "\" ' 加载值 LoadValuesEnd SubPrivate Sub Form_Unload(Cancel As Integer) ' 保存现有的值 SaveValuesEnd SubPrivate Sub LoadValues() Dim xml_document As DOMDocument Dim values_node As IXMLDOMNode ' 载入文件 Set xml_document = New DOMDocument xml_document.Load p_AppPath & "Personal.xml" If xml_document.documentElement Is Nothing Then Exit Sub End If '寻找节点 Set values_node = xml_document.selectSingleNode("个人信息") ' 读取各个节点的值 txtName.Text = GetNodeValue(values_node, "姓名", "???") txtSex.Text = GetNodeValue(values_node, "性别", "???") txtBirthday.Text = GetNodeValue(values_node, "出生日期", "???") txtAddress.Text = GetNodeValue(values_node, "地址", "???") txtZip.Text = GetNodeValue(values_node, "邮编", "???") txtQQ.Text =

1 2 3 下一页
  • 上一篇教程: Visual Basic.NET访问数据方法
  • 下一篇教程: 用VB.NET实现你的游戏梦想
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.