c# - 从 xml 中删除非法 0x1f 字符

标签 c# xml

我有一个程序可以生成一些数据并将其保存为 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/

相关文章:

c# - FormClosing 后计时器滴答?

java - 从 Java 中的 SOAP 消息中获取字符串

mysql - 用于数据传输的 SQL 与 XML

java - Android - 自定义 View 边框

c# - 如何在桌面 WPF 应用程序中播放 OGG 声音文件?

c# - 将日期时间转换为 yyyy-MM-ddT00 :00:00

c# - 是否可以将解决方案的所有 xml 注释放入一个 xml 文件中?

c# - 移动刚体游戏对象的正确方法

Java XPath : Get all the elements that match a query

java - 如何防止使用 "HTML"方法的 Java XML 转换器添加 <META> 标记?