0

既存の 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
4

1 に答える 1

1

既存のオープンストリームを閉じるのを忘れた場合に発生する可能性があります。メソッドの代わりにXMLWriter.Createテイクを使用するオーバーロードされたバージョンの使用を試みることができます。次のようなものstreamstringFile.Create

Dim writer As XmlWriter = XmlWriter.Create(File.Create(FilePath), settings)
于 2012-11-19T23:18:51.943 に答える