【发布时间】:2016-04-29 12:52:47
【问题描述】:
我有以下代码,我想用它来将两个 xml 文件合并为一个 xml,但我一直在搞砸它。首先,我想打开 B.xml 并将其与 A.xml 合并。合并后,我想再次将其另存为 C:\A.xml,但是我无法让它覆盖自己,因为它正在使用中。目前,如果文件名不是 C:\A.xml,我只能保存与 B.xml 合并的 A.xml。有没有办法解决这个问题?
'create a openfile dialog
Dim open_file As New OpenFileDialog
'give its filter
open_file.Filter = "Files (*.xml) | *.xml"
open_file.Title = "Merge a Library"
open_file.FileName = "Select a Library..."
open_file.InitialDirectory = "C:\"
Try
'if ok click at opendialog
If open_file.ShowDialog() = DialogResult.OK Then
Dim xmlreader1 As New XmlTextReader("C:\A.xml")
Dim xmlreader2 As New XmlTextReader(open_file.FileName)
Dim ds1 As New DataSet()
Try
ds1.ReadXml(xmlreader1)
Dim ds2 As New DataSet()
ds2.ReadXml(xmlreader2)
ds1.Merge(ds2)
ds1.WriteXml("C:\A.xml", XmlWriteMode.IgnoreSchema)
Console.WriteLine("Completed merging XML documents")
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Console.Read()
End If
Catch ex As Exception
'if any problem show error
MsgBox(ex.Message)
End Try
【问题讨论】:
-
在调用
ds1.WriteXml之前处理XmlReader。