[英]how to overwrite and existing XML file using If Not File.Exists
我正在嘗試覆蓋現有的XML文件。 如果該文件存在,則不會被覆蓋。 在這里我檢查一下。 為什么它不被覆蓋。 我想念什么?
這是我的代碼
Dim settings As New XmlWriterSettings()
settings.Indent = True
Dim FilePath As String = "\\server02\me_public$\audits\alert-special-reports.xml"
If Not File.Exists(FilePath) Then
Dim writer As XmlWriter = XmlWriter.Create(FilePath, settings)
writer.WriteStartDocument()
writer.WriteStartElement("audits")
writer.WriteStartElement("alert-special-reports")
writer.WriteElementString("title", "Alert and Special Reports")
writer.WriteElementString("rsslink", "http://www.me.org/rss/alert-special-reports.xml")
While dr.Read()
writer.WriteStartElement("item")
writer.WriteElementString("title", dr.GetString(dr.GetOrdinal("Title")))
writer.WriteElementString("description", dr.GetString(dr.GetOrdinal("Description")))
Dim dateNew As String = "", linkNew As String = ""
Dim DTNew As DateTime
Dim PDF As String = ""
DTNew = dr.GetDateTime(dr.GetOrdinal("PubDate"))
PDF = dr.GetString(dr.GetOrdinal("FilePath"))
dateNew = DTNew.ToLongDateString()
linkNew = "" & PDF & ""
writer.WriteElementString("link", linkNew)
writer.WriteElementString("pubdate", dateNew)
writer.WriteEndElement()
End While
writer.WriteEndElement()
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Flush()
writer.Close()
dr.Close()
End If
如果您忘記關閉現有的開放流,則可能發生這種情況。 您可以嘗試使用XMLWriter.Create
的重載版本,該版本采用stream
而不是string
並使用File.Create
方法。 類似於以下內容
Dim writer As XmlWriter = XmlWriter.Create(File.Create(FilePath), settings)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.