Сохранение изменений в файлах ресурсов с LINQ to XML в .net - PullRequest
0 голосов
/ 05 мая 2011

Я работаю с ресурсами .net, используя LINQ to XML.Я хочу отредактировать некоторые ресурсы, поэтому я написал следующее:

    Public Shared Sub AddTranslation(ByVal filename As String, ByVal name As String, ByVal value As String)
    Dim items = From translation In XElement.Load(filename).Elements("data") Where translation.Attribute("name").Value = name
    If items.Count = 0 Then 'item doesn't exist => add new item
        XElement.Load(filename).Element("translations").Add(New XElement("data", New XAttribute("name", name), New XElement("value", value)))
    Else
        items(0).Element("value").Value = value
        XElement.Load(filename).Save(filename)
    End If
End Sub

Кажется, это работает, и даже когда я отлаживаю, VisualStudio говорит, что файл изменился, но на самом деле это не так.Я думаю, что проблема в действии Save (), но я не знаю другого способа сохранить его ... Есть идеи?

Заранее спасибо,

Alf.

1 Ответ

0 голосов
/ 06 мая 2011

Что ж, просто загрузите и сохраните в переменной, затем манипулируйте, затем сохраните обратно в следующем формате:

Dim root As XElement = XElement.Load(filename)
Dim items = From translation In root.Elements("data") Where translation.Attribute("name").Value = name
If Not(items.Any) Then 'item doesn't exist => add new item
    root.Add(New XElement("data", New XAttribute("name", name), New XElement("value", value)))
Else
    items(0).Element("value").Value = value
End If
root.Save(filename)

Это должно дать вам представление о том, как к этому подойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...