工作用到的XML读取和写入
一.读取XML文件
1.循环读取指定的目录下的XML文件
Public Shared Sub ReadFile()
Dim i As Integer
Dim FileName() As String
Dim FileNo As Integer
'FileName = Directory.GetFiles("d:\a")
'C:\Inetpub\ftproot\SCSEFormReturn
Dim FilePath As String = "C:\Inetpub\ftproot\SCSEFormReturn"
FileName = Directory.GetFiles(FilePath)
FileNo = Directory.GetFiles(FilePath).Length
For i = 0 To FileNo - 1
Dim strPathFileName As String = FileName(i)
ReadXML(strPathFileName)
MoveReadedXML(strPathFileName)
Next
End Sub
Dim i As Integer
Dim FileName() As String
Dim FileNo As Integer
'FileName = Directory.GetFiles("d:\a")
'C:\Inetpub\ftproot\SCSEFormReturn
Dim FilePath As String = "C:\Inetpub\ftproot\SCSEFormReturn"
FileName = Directory.GetFiles(FilePath)
FileNo = Directory.GetFiles(FilePath).Length
For i = 0 To FileNo - 1
Dim strPathFileName As String = FileName(i)
ReadXML(strPathFileName)
MoveReadedXML(strPathFileName)
Next
End Sub
2.处理读取到的XML文件内容

Public Shared Sub ReadXML(ByVal strPathFileName As String)
Dim TextReader As XmlTextReader = New XmlTextReader(strPathFileName)
Dim strEFormNO As String = ""
Dim strSNO As String = ""
Dim strDirectorID As String = ""
Dim strStatusFlag As String = ""
Do While TextReader.Read
TextReader.MoveToElement()
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "EFormNO" Then
strEFormNO = TextReader.ReadString
End If
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "SNO" Then
strSNO = TextReader.ReadString
End If
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "DirectorID" Then
strDirectorID = TextReader.ReadString
End If
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "StatusFlag" Then
strStatusFlag = TextReader.ReadString
End If
Loop
DALDB.ExecuteSql(DALXML.InsertSqlEFormReturn(strSNO, strEFormNO, strDirectorID, strStatusFlag))
DALDB.ExecuteSql(DALXML.UpdateSqlScrap(strSNO, strDirectorID, strStatusFlag))
TextReader.Close()
End Sub
Dim TextReader As XmlTextReader = New XmlTextReader(strPathFileName)
Dim strEFormNO As String = ""
Dim strSNO As String = ""
Dim strDirectorID As String = ""
Dim strStatusFlag As String = ""
Do While TextReader.Read
TextReader.MoveToElement()
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "EFormNO" Then
strEFormNO = TextReader.ReadString
End If
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "SNO" Then
strSNO = TextReader.ReadString
End If
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "DirectorID" Then
strDirectorID = TextReader.ReadString
End If
If TextReader.NodeType = XmlNodeType.Element And TextReader.LocalName = "StatusFlag" Then
strStatusFlag = TextReader.ReadString
End If
Loop
DALDB.ExecuteSql(DALXML.InsertSqlEFormReturn(strSNO, strEFormNO, strDirectorID, strStatusFlag))
DALDB.ExecuteSql(DALXML.UpdateSqlScrap(strSNO, strDirectorID, strStatusFlag))
TextReader.Close()
End Sub
3.读取过的文件移到指定的文件内
Public Shared Sub MoveReadedXML(ByVal strPathFileName As String)
Dim FileName As String = Path.GetFileName(strPathFileName)
Dim MovePathFile As String = "C:\Inetpub\ftproot\SCSEFormReturn\Bak\" + FileName
If Directory.Exists(MovePathFile) = False Then
Directory.Move(strPathFileName, MovePathFile)
Else
Directory.Delete(MovePathFile)
End If
End Sub
Dim FileName As String = Path.GetFileName(strPathFileName)
Dim MovePathFile As String = "C:\Inetpub\ftproot\SCSEFormReturn\Bak\" + FileName
If Directory.Exists(MovePathFile) = False Then
Directory.Move(strPathFileName, MovePathFile)
Else
Directory.Delete(MovePathFile)
End If
End Sub
二.写XML文件

Public Shared Sub WriteXML()
Dim XmlName As String = "WriteXML.xml"
Dim XmlSavePath As String = "D:\Save\" + XmlName + ""
Dim XmlWrite As XmlTextWriter = New XmlTextWriter(XmlSavePath, Encoding.UTF8)
XmlWrite.WriteStartDocument(False)
'name
XmlWrite.WriteStartElement("name")
XmlWrite.WriteElementString("fname", "ike_li")
XmlWrite.WriteElementString("Address", "kunshan")
'/name
XmlWrite.WriteEndElement()
XmlWrite.WriteEndDocument()
XmlWrite.Close()
End Sub
Dim XmlName As String = "WriteXML.xml"
Dim XmlSavePath As String = "D:\Save\" + XmlName + ""
Dim XmlWrite As XmlTextWriter = New XmlTextWriter(XmlSavePath, Encoding.UTF8)
XmlWrite.WriteStartDocument(False)
'name
XmlWrite.WriteStartElement("name")
XmlWrite.WriteElementString("fname", "ike_li")
XmlWrite.WriteElementString("Address", "kunshan")
'/name
XmlWrite.WriteEndElement()
XmlWrite.WriteEndDocument()
XmlWrite.Close()
End Sub

浙公网安备 33010602011771号