【问题标题】:How to remove special characters from a XML如何从 XML 中删除特殊字符
【发布时间】:2011-07-06 05:31:35
【问题描述】:

我有一个 xml 文件。我想使用 C# 删除其中的所有特殊字符。

特殊字符包括:

  1. +
  2. -
  3. /
  4. _

等等

【问题讨论】:

  • 您是否真的要删除它们,包括<>?它不再是 XML 文件了。

标签: c# xml special-characters


【解决方案1】:

第 1 步:将 Xml 文件加载到字符串中

public string ReadFileToString(string filePath)
{
 StreamReader streamReader = new StreamReader(filePath);
 string text = streamReader.ReadToEnd();
 streamReader.Close();
 return text;
}

Setp 2:使用函数删除所有出现的特殊字符

public static string RemoveSpecialCharacters(string str)
{
    //change regular expression as per your need
    return Regex.Replace(str, "[^a-zA-Z0-9_.]", "", RegexOptions.Compiled);
}

Setp 3:保存文件

 XmlDocument doc = new XmlDocument();
 doc.LoadXml(xmlstring);
 doc.PreserveWhitespace = true;
 doc.Save("data.xml");

【讨论】:

  • 为什么在步骤 1 中将文件加载到 XML 文档中?为什么不将其作为普通文本加载并节省所有开销?事实上,为什么要将文档视为 XML?
  • @Jordan - 我只是提供算法而不是没有办法做一件事......第 2 步是我的核心algo...step1 和 step 3 只是为了支持它
  • 我想我的意思是,您的回答通过不必要地实例化一个相对处理器和内存密集型的类来促进非性能实践。两次。为什么不以高效的方式进行编辑,以免将来看到您的答案的人养成坏习惯?
  • 非常好。我仍然抱怨您在第 3 步中将其加载到 XML 文档中,但我想这可能是有正当理由的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多