2011-07-06 27 views
1

xmlファイルがあります。私はC#を使用してその中のすべての特殊文字を削除したいと思います。XMLから特殊文字を削除する方法

特殊文字が含まれます:

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

など

+0

ですか文字通り「<' and '>」を含めてすべて削除しますか?それはもはやXMLファイルではありません。 –

答えて

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を使用することにより、特殊な文字のすべてのoccuranceを削除:ファイル保存

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

手順1でファイルをXMLドキュメントにロードするのはなぜですか?なぜそれを通常のテキストとして読み込んでそのオーバーヘッドをすべて保存しないのはなぜですか?実際、XMLとしてドキュメントを扱うのはなぜですか? – Jordan

+0

@ジョーダン - 私はただ1つのことをする方法がないよりもアルゴリズムを提供しています..............ステップ2は私のアルゴリズムの中心です... step1とstep 3はちょうどそれをサポートすることです –

+0

私のポイントは、あなたの答えは、プロセッサとメモリを大量に消費する比較的不十分なクラスを不必要にインスタンス化することによって、パフォーマンスの悪い習慣を促進することです。 2倍。将来の視聴者が悪い習慣を拾わないように、それを演技的な方法で行うために編集してみませんか? – Jordan

関連する問題