在资源文件中现有数据的末尾添加数据
Add data at the end of existing data in resource file
我想在 windows 表单中单击按钮时在资源文件中现有数据的末尾添加数据。
我有一个包含 3 个文本框的 windows 表单 -
text_box1: Name
text_box2: Value
text_box3: Comments
and a button named as Save.
按钮代码:
private void button1_Click(object sender, EventArgs e)
{
myMethod.Create(textBox1.Text, textBox2.Text, textBox3.Text);
}
在资源文件中添加数据的方法:
public class myMethod
{
public static void Create(string myName, string myValue, string myComment)
{
try
{
ResXResourceReader resxReader = new ResXResourceReader(@"D:\Validator_Tool\resx\resx\myres.resx");
resxReader.UseResXDataNodes = true;
IDictionaryEnumerator data = resxReader.GetEnumerator();
while (data.MoveNext())
{
ResXResourceWriter resxWriter = new ResXResourceWriter(@"D:\Validator_Tool\resx\resx\myres.resx");
var node = new ResXDataNode(myName, myValue);
node.Comment = myValue;
resxWriter.AddResource(node);
resxWriter.Close();
}
}
catch (FileNotFoundException caught)
{
MessageBox.Show("Source: " + caught.Source + " Message: " + caught.Message);
}
}
}
请帮我解决这个问题,在资源文件中添加数据,因为使用此代码,我的数据会被现有数据覆盖,但我希望我的数据应附加在现有数据的末尾。
此代码在使用 IDictionaryEnumerator 异常时也给我异常是:
System.InvalidOperationException
这是一个片段,用于向您的 resx 添加新行并保留旧记录:
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();
这将 re-write 您的旧行并添加您的新行。
我想在 windows 表单中单击按钮时在资源文件中现有数据的末尾添加数据。 我有一个包含 3 个文本框的 windows 表单 -
text_box1: Name
text_box2: Value
text_box3: Comments
and a button named as Save.
按钮代码:
private void button1_Click(object sender, EventArgs e)
{
myMethod.Create(textBox1.Text, textBox2.Text, textBox3.Text);
}
在资源文件中添加数据的方法:
public class myMethod
{
public static void Create(string myName, string myValue, string myComment)
{
try
{
ResXResourceReader resxReader = new ResXResourceReader(@"D:\Validator_Tool\resx\resx\myres.resx");
resxReader.UseResXDataNodes = true;
IDictionaryEnumerator data = resxReader.GetEnumerator();
while (data.MoveNext())
{
ResXResourceWriter resxWriter = new ResXResourceWriter(@"D:\Validator_Tool\resx\resx\myres.resx");
var node = new ResXDataNode(myName, myValue);
node.Comment = myValue;
resxWriter.AddResource(node);
resxWriter.Close();
}
}
catch (FileNotFoundException caught)
{
MessageBox.Show("Source: " + caught.Source + " Message: " + caught.Message);
}
}
}
请帮我解决这个问题,在资源文件中添加数据,因为使用此代码,我的数据会被现有数据覆盖,但我希望我的数据应附加在现有数据的末尾。 此代码在使用 IDictionaryEnumerator 异常时也给我异常是:
System.InvalidOperationException
这是一个片段,用于向您的 resx 添加新行并保留旧记录:
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();
这将 re-write 您的旧行并添加您的新行。