Microsoft XML, v4.4
代碼如下
'保存當前數據的子過程
Private Sub SaveValues()
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMNode
Dim address_node As IXMLDOMNode
Dim name_node As IXMLDOMNode
Set xml_document = New DOMDocument ' 創建 XML document對象
Set values_node = xml_document.createElement("Values") ' 創建根節點Values (setion)
xml_document.appendChild values_node '將Values節點添加到document中
'調用CreateNode子過程創建DOM樹
'創建Name節點(setion),它含有子節點
Set name_node = xml_document.createElement(Frame2.Caption)
values_node.appendChild name_node
'添加Name節點的子節點
CreateNode name_node, "FirstName", txtFirstName.Text
CreateNode name_node, "LastName", txtLastName.Text
'創建Address節點(setion),它含有子節點
Set address_node = xml_document.createElement(Frame1.Caption)
values_node.appendChild address_node
'添加Address節點的子節點
CreateNode address_node, "Street", txtStreet.Text
CreateNode address_node, "City", txtCity.Text
CreateNode address_node, "State", txtState.Text
CreateNode address_node, "Zip", txtZip.Text
' 保存XML document.
xml_document.save m_AppPath & txtFirstName.Text & "Values.xml"
End Sub
' 向指定的父節點添加子節點
Private Sub CreateNode(ByVal parent As IXMLDOMNode, _
ByVal node_name As String, ByVal node_value As String)
Dim new_Node As IXMLDOMNode
Set new_Node = parent.ownerDocument.createElement(node_name) ' 創建新節點
new_Node.Text = node_value ' 設置節點的值
parent.appendChild new_Node ' 添加子節點
End Sub
' 返回節點的值
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
'從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 & Form2.txtInput.Text & "Values.xml"
' 如果LOAD的文件不存在,Do Nothing
If xml_document.documentElement Is Nothing Then Exit Sub
' 找到值的集合
Set values_node = xml_document.selectSingleNode("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
路徑為全局變量
保存調用
SaveValues
讀取調用
LoadValues