`
seawavenews
  • 浏览: 231711 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

在Visual Basic 6.0中操纵XML文件

阅读更多

 


[文章信息] 
作者: crystal编译
时间: 2002-10-17
出处: yesky
责任编辑: 方舟
 
[文章导读]
 
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立

什么是XML

  扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
  XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

  XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。

  XML的优点

  我们谈到XML长于在不同的应用程序之间交换数据,XML文件也便于构建小的数据库,不久以前,软件都使用INI文件存储配置信息、用户参数以及其他信息,后来微软引入了系统注册表,接作微软告诉我们不应该再使用INI文件了,从那时起Visual Basic对INI文件的支持被削弱了。但不幸的是注册表有几个致命的缺点:不是简单的文本文件,难于读写、可能会变得庞大和缓慢、如果注册表不知何故出现问题,将有可能造成系统死机。

  将配置信息放在XML文件中可以避免这些问题,甚至可以将XML文件设置为一个共享文件,这样在不同的计算机上的用户就可以共享数据,这是注册表所不能比拟的。

  在被称为下一代ASP的ASP.NET中可以在WEB页中直接使用XML,你可以使用数据绑定控件直接绑定数据并自动显示。

  当然也可以不选择XML,使用文本文件、注册表、数据库都可以完成XML所能完成的任务,XML只是你在数据存储和恢复的另一种工具而已。

  XML语法简介

  XML的语法非常的简单,XML文档由节点组成,使用打开和关闭节点描述标记,在格式上与HTML标记非常相似,它们之间最大的不同是:XML中可以自由定义标记名。比如下面的标记就描述了一个电话号码:

  <Phone>987-654-3210</Phone>

  而且不用声明标记名就可以使用。

  开始和结束标记必须相同,XML是识别大小写的,所以标记的大小写也必须相同。比如上面的例子中以<Phone>标记开始就必须以</Phone>标记结束,而不能是</phone>或</PHONE>

  节点标记中可以包含属性,比如下面的代码中Phone节点包含属性Type,其值为WorkFax:

  <Phone Type="WorkFax">987-654-3210<Phone>

  如果不愿意在节点中包含一个值,那么可以不需要结束标记,可以用在开始标记的后面加一个斜线来结束节点,在下面的例子中,Phone标记的Number属性就存储了一个电话号码,所以就不需要一个结束标记:

  <Phone Type="WorkFax" Number="987-654-3210" />

  XML文档的结构是一个树形等级结构。文档必须有一个唯一的根结点,根节点包含所有其它节点。下面我们举一个较为完整的例子:

<Addresses>
 <Entry Type="Personal">
  <FirstName>Andy</FirstName>
  <LastName>Fickle</LastName>
  <Street>1234 Programmer Place</Street>
  <City>Bugsville</City>
  <State>CO</State>
  <Zip>82379</Zip>
  <Phone Type="Home">354-493-9489</Phone>
 </Entry>
 <Entry Type="Work">
  <FirstName>Betty</FirstName>
  <LastName>Masterson</LastName>
  <Phone Type="Work">937-878-4958</Phone>
  <Phone Type="WorkFax">937-878-4900</Phone>
 </Entry>
 ...
</Addresses>


  注意相似的节点不需要包含相同的信息,例如第一个Entry节点包含了地址信息和家庭电话号码,第二个Entry节点包含了Work和WorkFax电话号码,而没有包含第一个Entry节点包含的信息。

  XML工具

  如前面的例子显示,XML语法是如此的简单以至于你可以在很短的时间作一个XML解析器,幸运的是你不必这样做,因为XML工具可以运行在各种平台上,包括可以安装了Visual Basic的Windows。

  正是这些L工具而不是XML本身使XML变得更强大和复杂。不同的解析器使你可以某一时刻加载整个XML文档或只加载某个节点,与此相反,XML Writer 可以同时创建一个XML文档和节点。

  DOM解析器使我们能够很方便的加载、复制、排序、修改和存储XML文件,遍历节点获得名称或属性,并给结果排序。虽然他们的功能没有真正的关系数据库强大,但DOM的这些特点依然非常有用。

  XSD可以定义XML文档的格式,XSL扩展样式单定义了怎样将XML文档转换成其他可以在WEB浏览器中浏览的文件格式,比如HTML文件。

  这些工具实际上比XML本身更复杂,所以所有讲解XML的书籍都花了很大的篇幅解释这些XML工具。但这超出了本文的范围,有兴趣的读者可以参考有关资料。

  Visual Basic.Net提供了使用XML、XSL以及其他XML工具的完整工具。但不用等待VB.NET,微软XML核心服务(MSXML)版本4.0提供了从Visual Basic6.0加载和存储XML文档的工具。

  在msdn.microsoft.com/xml/default.asp中下载最新版本的MSXML,并安装在计算机上。在Visual Basic 6.0中使用Microsoft XML V4.0象引用其他对象一样,首先在工程菜单中选择引用菜单项,选择Microsoft V4.0,单击OK,一切完成后就现在就可以在VB应用程序中添加XML对象了。 


DOMDocument 类

  文档对象模型(DOM)使用了一系列相应的对象描述了XML文档的等级状态,DOMDocument类是一个描绘XML文档的DOM结构的MSXML类。

  DOMDocument类仅仅提供了很少的几个有用的属性和方法。Load方法载入一个xml文件,loadxml方法将字符串作为xml数据添加到对象中。例如,下面的代码就将一个小的xml文件添加到名为xml_document的文档中。

Dim xml_document As New DOMDocument

xml_document.loadXML _
"<Person>" & vbCrLf & _
" <FirstName>Rod</FirstName>" & vbCrLf & _
" <LastName>Stephens</LastName>" & vbCrLf & _
"</Person>"


  DOMDocument的xml属性返回文档的xml描述,可以显示这些返回值看看这些文档究竟是什么样子,也可以将它存储为一个文件,但这完全不必要,因为DOMDocument对象的save方法已经自动将他们存储了。

  DOMDocument对象的documentElement属性表示文档数据的根结点,通常情况下操作XML文档都从这里开始。

  DOMDocument提供了几种创建新节点的方法。CreateElement方法为文档创建一个新的元素节点,其他创建节点的方法有createAttribute, createProcessingInstruction, 和 createTextNode,在这里就不一一介绍了。

  IXMLDOMNode类

  IXMLDOMNode类描述了一个节点,该类提供了一系列用于搜索和操纵XML文档的属性和方法。
selectSingleNode 方法用于搜索指定节点的后代,用于搜索指定节点路径的语言称为XPATH,XPATH非常棘手,本文就不详细说明其规范了。下面我们将介绍两个对搜索子节点有特别有用并且简单的方法。

  在给selectsingleNode方法中输入子节点的名字,该方法将在节点的子节点进行精确匹配搜索。如果在输入的字符串前面加上".//",那么将搜索节点的全部后代。

' Search for a child node named "LastName."
Set last_name_node = address_node.selectSingleNode("LastName")

' Search for any descendant named "LastName."
Set last_name_node = address_node.selectSingleNode(".//LastName")

  下面列出了IXMLDOMNode对象的部分非常有用的属性:

   attributes.节点属性集合

   nodeName.节点的标记名

   nodeTypeString.节点的类型

   ownerDocument.返回DOMDocument对象包含的节点

   text.表示节点包含的文本内容。如果该节点包含其他节点,那么text代表了所有节点的文本内容的组合。

   xml.给出了节点的xml内容,例如:"<FirstName>Rod</FirstName>".

  ChildNodes集合包含了节点的子节点。要给节点增加一个子节点,首先必须给使用DOMDocument对象的节点创建方法,然后将这个新建的节点加入到父节点的childNodes集合中。下面的代码展示了创建一个新的子节点的子程序,并使用父节点的appendChild方法将其加入到父节点中:

' Add a new node to the indicated parent node.
Private Sub CreateNode(ByVal indent As Integer, _
ByVal parent As IXMLDOMNode, ByVal node_name As String, _
ByVal node_value As String)
Dim new_node As IXMLDOMNode

' Create the new node.
Set new_node = parent.ownerDocument.createElement(node_name)

' Set the node's text value.
new_node.Text = node_value

' Add the node to the parent.
parent.appendChild new_node
End Sub
SaveValues 程序

  现在我们可以使用XML创建一个简单的程序(如图1),其值存储到XML文件中,在程序开始运行时,程序从VALUE.XML文件中加载数据,在程序运行结束时,将程序中的现行值存入VALUE.XML文件中。


  下面的代码是显示了VALUE.XML文件的结构:

<Values>
 <FirstName>Rod</FirstName>
 <LastName>Stephens</LastName>
 <Street>1234 Programmer Place</Street>
 <City>Bugsville</City>
 <State>CO</State>
 <Zip>80276</Zip>
</Values>

  List1显示了怎样编写SaveValues,当载入表单时,form_load事件触发LoadValues子程序。
LoadValues创建了一个名为xml_document的DOMDocument对象,然后载入xml文件,使用selectSingleNode方法查找名为values的节点,然后使用GetNodeValue方法获得从value节点后代中得到的值。

  GetNodeValue使用value节点的selectSingleNode方法寻找目标节点,如果节点不存在函数将返回一个缺省值,如果找到这个节点GetNodeValue将返回该节点的text值。对于value.xml文件中的数据节点,text仅仅是包含在节点中的文本内容。

  当窗体卸载时触发form_unload事件,unload事件调用SaveValues子程序。程序创建一个新的DOMDocument对象,该对象创建一个新的名为value的节点,然后用文档的appendChild方法将节点添加到文档中。

  在创建所有新的节点后,SaveValues调用DOMDocument's save方法存储新的xml文件。

  注意这个新的文件已经覆盖了旧文件,使用DOMDocument对象无法部分改变XML文件,可以加载XML文件,然后修改其中一部分,然后保存文件,但原文件将被完全覆盖。这是一个小的缺陷,但在这时可以使用其它程序进行修改。

  List1的最后一部分是CreateNode子程序,CreateNode 为父节点创建一个新节点并同时给这个节点赋值。在这个子程序中首先引用一个DOMDocument对象,然后使用该对象的createElement方法创建一个新的节点。

  createNode方法设置节点的text属性,然后将节点作为子节点添加到父节点中。

List1:

Option Explicit

Private m_AppPath As String

Private Sub Form_Load()
' Get the application's startup path.
m_AppPath = App.Path
If Right$(m_AppPath, 1) <> "\" Then m_AppPath = m_AppPath & "\"

' Load the values.
LoadValues
End Sub

Private Sub Form_Unload(Cancel As Integer)
' Save the current values.
SaveValues
End Sub

' Load saved values from XML.
Private Sub LoadValues()
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMNode

' Load the document.
Set xml_document = New DOMDocument
xml_document.Load m_AppPath & "Values.xml"

' If the file doesn't exist, then
' xml_document.documentElement is Nothing.
If xml_document.documentElement Is Nothing Then
' The file doesn't exist. Do nothing.
Exit Sub
End If

' Find the Values section.
Set values_node = xml_document.selectSingleNode("Values")

' Read the saved values.
txtFirstName.Text = GetNodeValue(values_node, "FirstName", "???")
txtLastName.Text = GetNodeValue(values_node, "LastName", "???")
txtStreet.Text = GetNodeValue(values_node, "Street", "???")
txtCity.Text = GetNodeValue(values_node, "City", "???")
txtState.Text = GetNodeValue(values_node, "State", "???")
txtZip.Text = GetNodeValue(values_node, "Zip", "???")
End Sub

' Return the node's value.
Private Function GetNodeValue(ByVal start_at_node As IXMLDOMNode, _
ByVal node_name As String, _
Optional ByVal default_value As String = "") As String
Dim value_node As IXMLDOMNode

Set value_node = start_at_node.selectSingleNode(".//" & node_name)
If value_node Is Nothing Then
GetNodeValue = default_value
Else
GetNodeValue = value_node.Text
End If
End Function

' Save the current values.
Private Sub SaveValues()
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMNode

' Create the XML document.
Set xml_document = New DOMDocument

' Create the Values section node.
Set values_node = xml_document.createElement("Values")

' Add the Values section node to the document.
xml_document.appendChild values_node

' Create nodes for the values inside the
' Values section node.
CreateNode values_node, "FirstName", txtFirstName.Text
CreateNode values_node, "LastName", txtLastName.Text
CreateNode values_node, "Street", txtStreet.Text
CreateNode values_node, "City", txtCity.Text
CreateNode values_node, "State", txtState.Text
CreateNode values_node, "Zip", txtZip.Text

' Save the XML document.
xml_document.save m_AppPath & "Values.xml"
End Sub

' Add a new node to the indicated parent node.
Private Sub CreateNode(ByVal parent As IXMLDOMNode, _
ByVal node_name As String, ByVal node_value As String)
Dim new_node As IXMLDOMNode

' Create the new node.
Set new_node = parent.ownerDocument.createElement(node_name)

' Set the node's text value.
new_node.Text = node_value

' Add the node to the parent.
parent.appendChild new_node
End Sub

DOMDocument 类

  文档对象模型(DOM)使用了一系列相应的对象描述了XML文档的等级状态,DOMDocument类是一个描绘XML文档的DOM结构的MSXML类。

  DOMDocument类仅仅提供了很少的几个有用的属性和方法。Load方法载入一个xml文件,loadxml方法将字符串作为xml数据添加到对象中。例如,下面的代码就将一个小的xml文件添加到名为xml_document的文档中。

Dim xml_document As New DOMDocument

xml_document.loadXML _
"<Person>" & vbCrLf & _
" <FirstName>Rod</FirstName>" & vbCrLf & _
" <LastName>Stephens</LastName>" & vbCrLf & _
"</Person>"


  DOMDocument的xml属性返回文档的xml描述,可以显示这些返回值看看这些文档究竟是什么样子,也可以将它存储为一个文件,但这完全不必要,因为DOMDocument对象的save方法已经自动将他们存储了。

  DOMDocument对象的documentElement属性表示文档数据的根结点,通常情况下操作XML文档都从这里开始。

  DOMDocument提供了几种创建新节点的方法。CreateElement方法为文档创建一个新的元素节点,其他创建节点的方法有createAttribute, createProcessingInstruction, 和 createTextNode,在这里就不一一介绍了。

  IXMLDOMNode类

  IXMLDOMNode类描述了一个节点,该类提供了一系列用于搜索和操纵XML文档的属性和方法。
selectSingleNode 方法用于搜索指定节点的后代,用于搜索指定节点路径的语言称为XPATH,XPATH非常棘手,本文就不详细说明其规范了。下面我们将介绍两个对搜索子节点有特别有用并且简单的方法。

  在给selectsingleNode方法中输入子节点的名字,该方法将在节点的子节点进行精确匹配搜索。如果在输入的字符串前面加上".//",那么将搜索节点的全部后代。

' Search for a child node named "LastName."
Set last_name_node = address_node.selectSingleNode("LastName")

' Search for any descendant named "LastName."
Set last_name_node = address_node.selectSingleNode(".//LastName")

  下面列出了IXMLDOMNode对象的部分非常有用的属性:

   attributes.节点属性集合

   nodeName.节点的标记名

   nodeTypeString.节点的类型

   ownerDocument.返回DOMDocument对象包含的节点

   text.表示节点包含的文本内容。如果该节点包含其他节点,那么text代表了所有节点的文本内容的组合。

   xml.给出了节点的xml内容,例如:"<FirstName>Rod</FirstName>".

  ChildNodes集合包含了节点的子节点。要给节点增加一个子节点,首先必须给使用DOMDocument对象的节点创建方法,然后将这个新建的节点加入到父节点的childNodes集合中。下面的代码展示了创建一个新的子节点的子程序,并使用父节点的appendChild方法将其加入到父节点中:

' Add a new node to the indicated parent node.
Private Sub CreateNode(ByVal indent As Integer, _
ByVal parent As IXMLDOMNode, ByVal node_name As String, _
ByVal node_value As String)
Dim new_node As IXMLDOMNode

' Create the new node.
Set new_node = parent.ownerDocument.createElement(node_name)

' Set the node's text value.
new_node.Text = node_value

' Add the node to the parent.
parent.appendChild new_node
End Sub
SaveValues 程序

  现在我们可以使用XML创建一个简单的程序(如图1),其值存储到XML文件中,在程序开始运行时,程序从VALUE.XML文件中加载数据,在程序运行结束时,将程序中的现行值存入VALUE.XML文件中。


  下面的代码是显示了VALUE.XML文件的结构:

<Values>
 <FirstName>Rod</FirstName>
 <LastName>Stephens</LastName>
 <Street>1234 Programmer Place</Street>
 <City>Bugsville</City>
 <State>CO</State>
 <Zip>80276</Zip>
</Values>

  List1显示了怎样编写SaveValues,当载入表单时,form_load事件触发LoadValues子程序。
LoadValues创建了一个名为xml_document的DOMDocument对象,然后载入xml文件,使用selectSingleNode方法查找名为values的节点,然后使用GetNodeValue方法获得从value节点后代中得到的值。

  GetNodeValue使用value节点的selectSingleNode方法寻找目标节点,如果节点不存在函数将返回一个缺省值,如果找到这个节点GetNodeValue将返回该节点的text值。对于value.xml文件中的数据节点,text仅仅是包含在节点中的文本内容。

  当窗体卸载时触发form_unload事件,unload事件调用SaveValues子程序。程序创建一个新的DOMDocument对象,该对象创建一个新的名为value的节点,然后用文档的appendChild方法将节点添加到文档中。

  在创建所有新的节点后,SaveValues调用DOMDocument's save方法存储新的xml文件。

  注意这个新的文件已经覆盖了旧文件,使用DOMDocument对象无法部分改变XML文件,可以加载XML文件,然后修改其中一部分,然后保存文件,但原文件将被完全覆盖。这是一个小的缺陷,但在这时可以使用其它程序进行修改。

  List1的最后一部分是CreateNode子程序,CreateNode 为父节点创建一个新节点并同时给这个节点赋值。在这个子程序中首先引用一个DOMDocument对象,然后使用该对象的createElement方法创建一个新的节点。

  createNode方法设置节点的text属性,然后将节点作为子节点添加到父节点中。

List1:

Option Explicit

Private m_AppPath As String

Private Sub Form_Load()
' Get the application's startup path.
m_AppPath = App.Path
If Right$(m_AppPath, 1) <> "\" Then m_AppPath = m_AppPath & "\"

' Load the values.
LoadValues
End Sub

Private Sub Form_Unload(Cancel As Integer)
' Save the current values.
SaveValues
End Sub

' Load saved values from XML.
Private Sub LoadValues()
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMNode

' Load the document.
Set xml_document = New DOMDocument
xml_document.Load m_AppPath & "Values.xml"

' If the file doesn't exist, then
' xml_document.documentElement is Nothing.
If xml_document.documentElement Is Nothing Then
' The file doesn't exist. Do nothing.
Exit Sub
End If

' Find the Values section.
Set values_node = xml_document.selectSingleNode("Values")

' Read the saved values.
txtFirstName.Text = GetNodeValue(values_node, "FirstName", "???")
txtLastName.Text = GetNodeValue(values_node, "LastName", "???")
txtStreet.Text = GetNodeValue(values_node, "Street", "???")
txtCity.Text = GetNodeValue(values_node, "City", "???")
txtState.Text = GetNodeValue(values_node, "State", "???")
txtZip.Text = GetNodeValue(values_node, "Zip", "???")
End Sub

' Return the node's value.
Private Function GetNodeValue(ByVal start_at_node As IXMLDOMNode, _
ByVal node_name As String, _
Optional ByVal default_value As String = "") As String
Dim value_node As IXMLDOMNode

Set value_node = start_at_node.selectSingleNode(".//" & node_name)
If value_node Is Nothing Then
GetNodeValue = default_value
Else
GetNodeValue = value_node.Text
End If
End Function

' Save the current values.
Private Sub SaveValues()
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMNode

' Create the XML document.
Set xml_document = New DOMDocument

' Create the Values section node.
Set values_node = xml_document.createElement("Values")

' Add the Values section node to the document.
xml_document.appendChild values_node

' Create nodes for the values inside the
' Values section node.
CreateNode values_node, "FirstName", txtFirstName.Text
CreateNode values_node, "LastName", txtLastName.Text
CreateNode values_node, "Street", txtStreet.Text
CreateNode values_node, "City", txtCity.Text
CreateNode values_node, "State", txtState.Text
CreateNode values_node, "Zip", txtZip.Text

' Save the XML document.
xml_document.save m_AppPath & "Values.xml"
End Sub

' Add a new node to the indicated parent node.
Private Sub CreateNode(ByVal parent As IXMLDOMNode, _
ByVal node_name As String, ByVal node_value As String)
Dim new_node As IXMLDOMNode

' Create the new node.
Set new_node = parent.ownerDocument.createElement(node_name)

' Set the node's text value.
new_node.Text = node_value

' Add the node to the parent.
parent.appendChild new_node
End Sub

分享到:
评论

相关推荐

    在Visual Basic 6.0中操纵XML文件-精品源代码

    在Visual Basic 6.0中操纵XML文件-精品源代码

    Visual basic 6.0 的读XML文件代码

    在Visual Basic 6.0(VB6)中处理XML文件是一项常见的任务,特别是在与Web服务交互或存储结构化数据时。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,具有良好的可读性和跨平台兼容性。下面将详细介绍...

    Visual+Basic+6.0编程实例

    VB6,即Visual Basic 6.0,是微软发布的一款面向对象的可视化编程工具,它以其直观的界面设计和强大的编程能力在90年代末到21世纪初广泛应用于软件开发领域。 在VB6中,用户可以通过拖拽控件和编写事件驱动的代码来...

    Visual Basic 6.0 から Visual Basic .NET への移行

    《Visual Basic 6.0 到 Visual Basic .NET 的迁移》 Visual Basic 6.0 是微软公司开发的一款经典的编程语言,它以其直观易用的界面和强大的Windows应用程序开发能力深受程序员喜爱。然而,随着技术的演进,微软推出...

    卡拉OK(visual basic 6.0)

    这些数据可以存储在文本文件、XML文件或数据库中。在VB6.0中,我们可以使用内置的文件操作功能读取歌词数据,并将其加载到内存中。 3. **时间戳解析**:每首歌的歌词通常附带时间戳,指示何时应显示哪句歌词。我们...

    Life after Visual Basic 6.0 – Where to Go from Here

    随着微软对 Visual Basic (VB) 6.0 的扩展支持在今年结束,许多应用程序开发者正寻求指导,以决定是否应该升级、重用、重写或替换他们现有的 VB6.0 代码,以便在受支持的软件平台上进行开发。尽管 VB.NET 被指定为 ...

    Visual Basic 6.0应用编程150例

    《Visual Basic 6.0应用编程150例》是一本深入浅出的教程,旨在帮助初学者和有一定基础的开发者掌握Visual Basic 6.0(简称VB6)的编程技术。VB6是Microsoft公司推出的经典编程环境,主要用于开发Windows应用程序。...

    计算机软件-编程源码-Visual Basic 6.0中文版范例入门与提高.zip

    《Visual Basic 6.0中文版范例入门与提高》是一个专门为初学者和有志于提升VB编程技能的开发者设计的资源包。这个压缩文件包含了大量实例代码和教程,旨在帮助用户快速掌握Visual Basic 6.0这一经典编程语言的核心...

    UTF-8编码转化(Visual Basic)

    在Visual Basic编程环境中,处理UTF-8编码的文件或数据时,你需要理解如何读取、写入以及转换UTF-8格式的数据。以下是一些关键的知识点: 1. **Unicode与UTF-8**: Unicode是一个统一的字符集,包含世界上几乎所有...

    Microsoft Visual Studio 6.0 Enterprise.7z

    在当今的软件开发环境中,尽管Visual Studio 6.0已较为过时,但它仍然是许多遗留系统和经典项目的基石,对于理解早期的Windows开发历史和学习旧代码仍然具有价值。然而,随着技术的发展,现代的Visual Studio版本,...

    Visual Basic高级编程技术从VB6.0向VB.rar

    《Visual Basic高级编程技术从VB6.0向VB.NET》这本书是专为已经掌握了一些基础的Visual Basic 6.0编程知识,希望进一步提升到VB.NET平台的开发者设计的。VB.NET是Microsoft .NET框架的一部分,它提供了更现代、更...

    vb6.0调用webservice详解

    本教程将深入探讨如何在Visual Basic 6.0中详细地实现这一过程。 首先,我们需要理解Web服务的基本概念。Web服务是一种通过HTTP协议提供功能的软件,可以通过XML(可扩展标记语言)进行数据交换。VB6.0中调用Web...

    从vb6升级到vb.net

    - **VB6与VB.NET的区别**:Microsoft Visual Basic.NET(简称VB.NET)是继Visual Basic 6.0之后的一个全新版本,该版本完全基于.NET框架进行设计,旨在为开发者提供一个更加现代化、高效且易于使用的开发环境。...

    Visual Basic编程语言

    - **Visual Basic .NET**: 随着.NET框架的推出,Visual Basic也进入了.NET时代,这个版本支持.NET Framework,并且提供了对XML Web Services和网络服务的支持。 - **Visual Basic 2005**: 需要.NET Framework 2.0的...

    vs6.0英文版

    根据压缩包中的文件名"VC6EN"推测,这可能是VS6.0英文版的安装文件或者是一些相关资源的集合,包含了安装程序、补丁或者帮助文档等。 **8. 兼容性和历史地位** 尽管Visual Studio 6.0已经非常老旧,但它仍然被一些...

    Visual Basic 2008/2010 高级编程(第5版)(高清PDF 330MB) 6/6

    Visual Basic 2008 2010 高级编程 6/6(共6个分卷压缩文件) 作者:(美)伊夫杰,郝利斯 等著,张敏,丁峰 译 出版社:清华大学出版社 出版日期:2009-6-1 ISBN:9787302200864 页码:1163 --------------------------...

    Visual Basic.NET技术内幕

    通过阅读《Visual Basic.NET技术内幕》,开发者不仅可以掌握VB.NET的基本语法,还能学习到高级特性的应用,如异常处理、线程管理、文件I/O、XML操作等。此外,书中很可能还包括了调试技巧、性能优化策略以及与.NET ...

    vb_ XML解析实例 .zip_WH_CBT_vb xml_vb 解析xml文件_visual basic_解析

    在VB(Visual Basic)编程环境中,XML(eXtensible Markup Language)是一种常见的数据交换格式,用于存储和传输结构化数据。本实例是关于如何在VB中解析XML文件的入门教程,适合初学者学习和参考。 XML文件是一种...

    FlowProgram_visualbasic_

    FlowProgram_visualbasic_ 是一个基于Visual Basic 6.0(VB6.0)开发的流程图设计系统,它为用户提供了高效且直观的工具来创建、编辑和管理各种流程图。Visual Basic是微软公司推出的一种面向对象的编程环境,特别...

Global site tag (gtag.js) - Google Analytics