我有一个程序可以生成一些数据并将其保存为 xml,不幸的是,出于我的目的,我无法将其保存在允许使用 0x1f 等字符的较新 XML 中。因此,我需要从 xml 中消除这个字符。我所能找到的似乎是这样做的 http://benjchristensen.com/2008/02/07/how-to-strip-invalid-xml-characters/但我不知道java脚本,并且希望能够使用我能够理解的脚本。我确实了解基本的 C#,但不太擅长。不管怎样,过滤这个角色最简单的方法是什么?无论如何,我确实认为这对于在线社区来说是一个很好的问题,因为事实证明,从 Google 寻找 C# 的工作方法具有挑战性。
最佳答案
来自这篇文章: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);
然后测试新文件。在您知道这是否有效之前,不要覆盖旧的。
关于c# - 从 xml 中删除非法 0x1f 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10645559/