提问者:小点点

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


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


共1个答案

匿名用户

如何将非ASCII字符从字符串中删除?(在C#中)

根据您的情况进行调整:

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

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