打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vb.net 创建、修改、读取XML的方法
 ''' <summary>
    ''' 创建XML文件
    ''' </summary>
    ''' <param name="xmlFileName">要创建的XML文件名</param>
    ''' <remarks></remarks>
    Private Sub createXML(ByVal xmlFileName As String)
        Try
            Dim writer As New Xml.XmlTextWriter(Application.StartupPath & "" & xmlFileName, System.Text.Encoding.GetEncoding("utf-8"))
            '使用自动缩进便于阅读
            writer.Formatting = Xml.Formatting.Indented
            writer.WriteRaw("<?xml version=""1.0"" encoding=""utf-8"" ?>")
            '书写根元素()
            writer.WriteStartElement("Config")
            '添加次级元素
            writer.WriteStartElement("DatabaseSetting")
            '添加子元素()
            writer.WriteElementString("DataSource", Me.cmbHostName.SelectedItem.ToString.Trim)
            '为Datasource添加一个属性为value,值为test 的属性
            'writer.WriteAttributeString("value","test")
            writer.WriteElementString("InitialCatalog", Me.cmbDatabaseName.SelectedItem.ToString.Trim)
            writer.WriteElementString("UserID", Me.txtUserName.Text.Trim)
            writer.WriteElementString("Password", Me.txtPassword.Text.Trim)
            '关闭次级元素DatabaseSetting
            writer.WriteEndElement()
            '添加次级元素StationSetting
            writer.WriteStartElement("StationSetting")
            '添加子元素
            writer.WriteElementString("StoreID", Me.cmbStoreID.SelectedItem.ToString.Trim)
            writer.WriteElementString("StationID", Me.cmbStationID.SelectedItem.ToString.Trim)
            '关闭次级元素StationSetting
            writer.WriteEndElement()
            '关闭根元素
            writer.WriteFullEndElement()
            '将XML写入文件并关闭writer
            writer.Close()
        Catch ex As Exception
            MsgBox(ex.Message & vbCrLf & ex.StackTrace)
        End Try
    End Sub
    ''' <summary>
    ''' 修改XML
    ''' </summary>
    ''' <param name="xmlFileName">要修改的XML文件名</param>
    ''' <param name="rootName">XML文件中的根元素名称</param>
    ''' <param name="elementNameArry">要修改的元素数组</param>
    ''' <param name="innerTextArry">对应于要修改的元素数组的修改文本数组</param>
    ''' <remarks></remarks>
    Public Sub modifXML(ByVal xmlFileName As StringByVal rootName As StringByVal elementNameArry() As StringByVal innerTextArry() As String)
        If My.Computer.FileSystem.FileExists(Application.StartupPath.Trim & "" & xmlFileName) Then
            Dim doc As New Xml.XmlDocument
            doc.Load(Application.StartupPath.Trim & "" & xmlFileName)
            Dim list As Xml.XmlNodeList = doc.SelectSingleNode(rootName).ChildNodes
            For Each xn As Xml.XmlNode In list
                Dim xe As Xml.XmlElement
                xe = xn
                Dim nls As Xml.XmlNodeList = xe.ChildNodes
                For Each xn1 As Xml.XmlNode In nls
                    Dim xe2 As Xml.XmlElement
                    xe2 = xn1
                    For i As Integer = 0 To elementNameArry.Length - 1
                        If xe2.Name = elementNameArry(i) Then
                            xe2.InnerText = innerTextArry(i)
                        End If
                    Next
                Next
            Next
            doc.Save(Application.StartupPath.Trim & "" & xmlFileName)
        End If
    End Sub
    ''' <summary>
    ''' 读取XML文件
    ''' </summary>
    ''' <param name="xmlFileName">要读取的XML文件名</param>
    ''' <remarks></remarks>
    Private Sub readXMl(ByVal xmlFileName As String)
        Try
            If My.Computer.FileSystem.FileExists(Application.StartupPath & "" & xmlFileName) Then
                Dim doc As New Xml.XmlDocument
                doc.Load(Application.StartupPath.Trim & "" & xmlFileName)
                Dim re As Xml.XmlNodeReader = New Xml.XmlNodeReader(doc)
                Dim tmpStr As String = ""
                Dim name As String

                While re.Read
                    Select Case re.NodeType
                        Case Xml.XmlNodeType.Element
                            name = re.Name
                        Case Xml.XmlNodeType.Text
                            If name.Equals("DataSource") Then
                                tmpStr = tmpStr & "Data Source=" & re.Value
                            End If
                            If name.Equals("InitialCatalog") Then
                                tmpStr = tmpStr & ";Initial Catalog=" & re.Value
                            End If
                            If name.Equals("UserID") Then
                                tmpStr = tmpStr & ";User ID=" & re.Value
                            End If
                            If name.Equals("Password") Then
                                tmpStr = tmpStr & ";Password=" & re.Value
                            End If
                    End Select
                End While
            End If
        Catch ex As Exception
            MsgBox(ex.Message & vbCrLf & ex.StackTrace)
        End Try
    End Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用schema验证XML的例子的java例子
C#中对 XML节点进行增、删、改、查
VB打开EXCEL的方法
VBA基础入门(41)转换的思维
基于java的图片文件格式转换和线性缩放
Unity3D研究院之使用 C#合成解析XML与JSON(四十一) | 雨松MOMO程序研究院
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服