Private Sub WriteXml() Try Create(strFName, "NewDataSet") SaveXMLFile("gg", "NewDataSet", True) Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Function Create(ByVal FileName As String, ByVal Root As String) As Boolean Dim NewXML As XmlTextWriter = Nothing Irowcount = objDataSet.Tables("DataAnalyseVIEW").Rows.Count Icolcount = objDataSet.Tables("DataAnalyseVIEW").Columns.Count Try NewXML = New XmlTextWriter(FileName, Nothing) NewXML.Formatting = Formatting.Indented NewXML.WriteStartDocument() NewXML.WriteComment(My.Application.Info.AssemblyName & " Settings ") '项目名称 NewXML.WriteStartElement(Root) NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").TableName.ToString()) NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(2).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("SerialNumberTable").Rows(txtN)("SerialNumber").ToString()) NewXML.WriteEndElement() NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(3).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(0)("Client").ToString()) NewXML.WriteEndElement() NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(5).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(0)("Productor").ToString()) NewXML.WriteEndElement() NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(6).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(0)("Model").ToString()) NewXML.WriteEndElement() NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(4).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(0)("StationName").ToString()) NewXML.WriteEndElement() NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(7).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(0)("DataTime").ToString()) NewXML.WriteEndElement() NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(8).ColumnName().ToString()) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(0)("status").ToString()) NewXML.WriteEndElement() NewXML.WriteEndElement() Progressbar1.Step = 1 Progressbar1.Value = 1 Progressbar1.Visible = True For Irow = 0 To Irowcount - 1 Progress(Irowcount - 1) NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").TableName.ToString()) For Icol = 0 To Icolcount - 1 If Icol < 2 Or Icol > 7 Then NewXML.WriteStartElement(objDataSet.Tables("DataAnalyseVIEW").Columns(Icol).ColumnName().ToString) NewXML.WriteString(objDataSet.Tables("DataAnalyseVIEW").Rows(Irow)(Icol).ToString()) NewXML.WriteEndElement() End If Next NewXML.WriteEndElement() Next NewXML.WriteEndElement() NewXML.WriteEndElement() NewXML.Flush() NewXML.Close() Catch ex As Exception Debug.Print("Create - " & ex.Message) Return False Finally If NewXML IsNot Nothing Then NewXML.Close() NewXML = Nothing End If End Try Return True End Function Private Function SaveXMLFile(ByVal aSection As String, ByVal aKey As String, ByVal aValue As String) As Boolean Dim Paths() As String Dim n As Integer Dim Node, Node2 As XmlNode Dim Ele As XmlElement While Strings.Left(aSection, 1) = "/ " aSection = Strings.Mid(aSection, 2) End While If aSection = " " Then xmlDoc.DocumentElement.RemoveAll() Else Paths = Strings.Split(aSection, "/ ") Try Node = xmlDoc.DocumentElement.SelectSingleNode(Paths(n)) If Node Is Nothing Then Ele = xmlDoc.CreateElement(Paths(n)) Node = xmlDoc.DocumentElement.AppendChild(Ele) End If For n = 1 To Paths.Length - 1 If Paths(n) = " " Then Continue For Node2 = Node.SelectSingleNode(Paths(n)) If Node2 Is Nothing Then Ele = xmlDoc.CreateElement(Paths(n)) Node2 = Node.AppendChild(Ele) End If Node = Node2 Next If aKey = " " Then Node.RemoveAll() Else Ele = Node.Item(aKey) If Ele Is Nothing Then Ele = xmlDoc.CreateElement(aKey) Node.AppendChild(Ele) End If If aValue = " " Then Node.RemoveChild(Ele) Else Ele.InnerText = aValue End If End If Catch ex As Exception Debug.Print(ex.Message) Return False End Try End If xmlDoc.Save(strFileName) End Function