4

How I can open an existing .resx file, write some resources and close without losing the resources that were in the original file?

jdhurst
  • 4,365
  • 1
  • 20
  • 21
Javier Marín
  • 2,166
  • 3
  • 21
  • 40

1 Answers1

9

The ResXResourceWriter just writes the new nodes.. To keep the old ones you can do like this : The code below will add one new node to the resx file and by iterating the old nodes writing them again. I bet there is a more simple way in doing this, but can't figure it out.

var reader = new ResXResourceReader("filename");
var node = reader.GetEnumerator();
var writer = new ResXResourceWriter("filename");
while (node.MoveNext())
{
    writer.AddResource(node.Key.ToString(), node.Value.ToString());
}
var newNode = new ResXDataNode("name", "value");
writer.AddResource(newNode);
writer.Generate();
writer.Close();

Remember to add the using System.Resources

Jonas W
  • 3,200
  • 1
  • 31
  • 44