3

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,134
  • 1
  • 19
  • 20
Javier Marín
  • 2,076
  • 3
  • 21
  • 39

1 Answers1

8

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,090
  • 1
  • 29
  • 43