【问题标题】:Can't Save to an XML file in an embedded resource无法保存到嵌入资源中的 XML 文件
【发布时间】:2014-02-19 14:02:20
【问题描述】:

我正在测试一个应用程序以读取 XML 文件(工作)并保存到 XML 文件(不工作)。

这是我的代码不起作用。有想法该怎么解决这个吗?我需要能够保存到 XML 文件。我得到的错误是:STREAM WAS NOT WRITEABLE

代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim strTime As String
    strTime = Now.ToString
    Dim _assembly As Assembly
    _assembly = [Assembly].GetExecutingAssembly()
    Dim FileName = _assembly.GetManifestResourceStream("EmbeddedResource.xml")

    Try
        Dim xmlData As New XmlDocument
        Dim nodeRoot, nodeTroubleInfo, nodeDateTimeSaved As XmlNode
        xmlData.Load(FileName)
        nodeRoot = xmlData.SelectSingleNode("//DATA")
        nodeTroubleInfo = nodeRoot.SelectSingleNode("//TroubleInfo")
        nodeTroubleInfo.InnerText = txtNotes.Text
        nodeDateTimeSaved = nodeRoot.SelectSingleNode("//DateTimeSaved")
        nodeDateTimeSaved.InnerText = strTime
        xmlData.Save(FileName)
        MsgBox("SAVE Button Pressed!", MsgBoxStyle.Information, "Note saved successfully!")
    Catch ex As Exception
        MsgBox("Error saving note. The error was: " & vbCrLf & Err.Description, MsgBoxStyle.Exclamation, "Error saving information to file.")
        Exit Sub
    End Try
End Sub

【问题讨论】:

    标签: xml vb.net winforms embedded-resource


    【解决方案1】:

    这不是一个文件。它是装配的一部分。你不能给它写信。

    您可以做的最好的事情是从程序集中读取并写入磁盘上的单独 XML 文件。 那个文件,你可以读写。

    【讨论】:

    • 我遇到的问题是,如果我在 Program Files 目录中创建一个新的 XML 文件,我必须以管理员权限运行我的应用程序。我应该在哪里/做什么处理 xml 文件?
    • 将其写入程序的 Application Data 文件夹。请注意C:\Users\username\AppData\Local\Microsoft\VisualStudio 文件夹是如何存在的?在安装过程中创建一个C:\Users\username\AppData\Local\yourCompany\yourProduct 文件夹。
    猜你喜欢
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 2012-06-26
    相关资源
    最近更新 更多