I am trying to replace content of data tag in each file, but getting error "System.ArgumentException: 'String cannot be of zero length. Parameter name: oldValue'" (*"Data" tag contains multiple lines of base64 encoded string)
Here is my code:
var regex = new Regex("<data>([\\s\\S]*?)<\\/data>\r\n", RegexOptions.Multiline);
var main1 = Directory.GetFiles(main1path, "demo.xml", SearchOption.AllDirectories).OrderBy(x => x).ToArray();
var main2 = Directory.GetFiles(main2path, "demo.xml", SearchOption.AllDirectories).OrderBy(x => x).ToArray();
for (var i = 0; i < Math.Min(main1.Length, main2.Length); i++)
{
var demo1path = main1[i];
var demo2path = main2[i];
var demo1 = File.ReadAllText(demo1path);
var demo2 = File.ReadAllText(demo2path);
var data1 = regex.Match(demo1);
var data2 = regex.Match(demo2);
File.WriteAllText(demo1path, demo1.Replace(data1.Value, data2.Value));
}