我希望 XML 正确写入,但文件来自第三方,我们无法控制。(他们是我们客户的另一个供应商)
所以考虑到这一点:他们向我们发送了一个文件夹和子文件夹的压缩包(在每个子文件夹中都会有一个 XML) 他们发送给我们的 XML 有 & 代替 & (每个 & 都是这样的,但不是每个 XML 都有一个 &); 使用我的代码,我可以(至少在控制台上)循环遍历每个 subs,找到 xml,找到带有 & 的行(如果有的话)并将其更改为 &
foreach (string d in Directory.GetFiles(targetDirectory, "*.xml", SearchOption.AllDirectories))
{
Console.WriteLine(d);
String[] lines = File.ReadAllLines(d);
for (int i = 0; i < lines.Length; i++)
{
if (lines[i].Contains("&"))
{
string line = lines[i];
line = line.Replace("&", "&");
Console.WriteLine(line);
}
}
}
在最后一个“Console.WriteLine(line);” 它表明 & 已更改(至少在内存中)但是当我使用“System.IO.File”时,如果仍然填充原始 &。