VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • vb.net教程之VB.NET简单读写XML配置文件

Public Class Form1
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim path As String = "d:\cong.XML"
        '写入XML失败,则先初始化,后写入
        If WriteXML(TextBox1.Text, TextBox2.Text, path) = False Then
            ResetXML(path)
             WriteXML(TextBox1.Text, TextBox2.Text, path)
        End If
     End Sub
End Class
Imports System.Xml
Module Module1
    Public Function WriteXML(ByVal nameStr As String, ByVal valueStr As String, ByVal path As String) As Boolean
         Try
             Dim doc As New XmlDocument
            Dim RootNode As XmlElement
            Dim mBound, i As Integer
             Dim isExit As Boolean = False
            doc.Load(path)
            '循环体遍历子节点
            RootNode = doc.DocumentElement
             mBound = RootNode.ChildNodes.Count - 1
            For i = 0 To mBound
                If RootNode.ChildNodes(i).Name = nameStr Then
                    RootNode.ChildNodes(i).InnerText = valueStr
                     isExit = True
                     Exit For
                 End If
             Next
            '如果修改失败,则创建节点
            If isExit = False Then
                 Dim xn As XmlNode = doc.CreateNode(XmlNodeType.Element, nameStr, "")
                 RootNode.AppendChild(xn)
                 xn.InnerText = valueStr
            End If
            doc.Save(path)
            Return True
         Catch ex As Exception
            Return False    '如果XML文件遭到破坏,则返回False
        End Try
     End Function

     Public Function GetXML(ByVal nameStr As String, ByVal faultStr As String, ByVal path As String) As String
        '节点或XML不存在都会返回faultStr
        Try
             Dim valueStr As String = faultStr
            Dim xtr As XmlTextReader = New XmlTextReader(path)
            While xtr.Read
                If xtr.Name = nameStr Then
                    valueStr = xtr.ReadString
                    Exit While
                 End If
             End While
            xtr.Close()
            Return valueStr
        Catch ex As Exception
            Return faultStr
        End Try
     End Function

     Public Function ResetXML(ByVal path As String) As Boolean
         Try
             Dim xmlInit As String
            xmlInit = "<?xml version=" & Chr(34) & "1.0" & Chr(34) & " encoding=" & Chr(34) & "gb2312" & Chr(34) & "?>" & vbCrLf _
             & "<config>" & vbCrLf _
             & "</config>"
            My.Computer.FileSystem.WriteAllText(path, xmlInit, False, System.Text.Encoding.Default)
            Return True
         Catch ex As Exception
            Return False
         End Try
     End Function
End Module
<?xml version="1.0" encoding="gb2312"?>
<config>
   <hostsq>698</hostsq>
   <hosts>258</hosts>
   <price>369</price>
</config>

相关教程