从xml中删除非法的0x1f字符

时间:2012-05-18 01:19:52

标签: c# xml

我有一个生成一些数据并将其保存为xml的程序,遗憾的是,出于我的目的,我无法将其保存在允许使用像0x1f这样的字符的较新XML中。结果,我需要从我的xml中删除这个字符。所有我能够找到的似乎是这个http://benjchristensen.com/2008/02/07/how-to-strip-invalid-xml-characters/,但我不知道java脚本,并希望能够使用我能够理解的脚本。我知道基本的C#,但它不是很好。无论如何,过滤这个角色最简单的方法是什么?我认为这对于在线社区来说是一个很好的问题,因为从Google中找到C#中的工作方法证明是具有挑战性的。

1 个答案:

答案 0 :(得分:2)

从这篇文章:How can you strip non-ASCII characters from a string? (in C#)

根据您的情况进行调整:

string s = File.ReadAllText(filepath);
s = Regex.Replace(s, @"[\u0000-\u001F]", string.Empty);
File.WriteAllText(newFilepath, s);

然后测试新文件。在你知道这是否有效之前,不要覆盖旧的。