无法保存到嵌入式xml文档

时间:2015-02-05 18:48:49

标签: vb.net xmldocument

在VB.NET项目中,我有一个xml文档作为嵌入式资源。我正在使用

访问它
Private xmlFile as New XmlDocument()

在“总宣言”区域内。然后我在表单加载方法中加载它:

xmlFile.LoadXml(My.Resources.Settings)

在一个方法中,我找到了特定节点并从用户输入中更新它们:

'Dim xmlDoc as XmlDocument
'xmlDoc = xmlFile

Dim settingNodes As XmlNodeList = xmlFile.SelectNodes("//Program/ProgramTitle")

For Each setting As XmlNode In settingNodes
    If setting.InnerText = title Then
        setting.ParentNode.Item("ProgramSaveFolder").InnerText = programFolder
        setting.ParentNode.Item("PrimaryBackupFolder").InnerText = primBackup
        setting.ParentNode.Item("SecondaryBackupFolder").InnerText = secBackup
    End If
Next

' Neither of these work
xmlFile.Save("Settings.txt")
'xmlDoc.Save("GameSettings.txt")

xmlDoc代码来自于我被引导相信它没有保存,因为xmlFile正在使用中(我一直在尝试很多不同的东西!)。

但是,如代码中所述,这些都不起作用。这与我所看到的有关如何执行此操作的示例非常相似,但是当我运行程序时,它根本不会更改文件。

1 个答案:

答案 0 :(得分:0)

您无法修改嵌入资源。您可以将XML文件包含为内容,它将作为普通文件显示在构建文件夹中,可以使用File.IO命名空间或XMLDocument.Load()加载和更新。

要注意的一个问题是,要修改的Program Files文件夹中的文件将需要用户可能没有的管理员权限。如果是这种情况,最好将文件复制到AppData文件夹。