XMLとして保存する前に無効な文字を文字列内に取り除くコードスニペットがありますが、もう1つ問題があります。私のユーザーが"[MyColumnOne] ...だから、私はこれらの文字列をユーザーが定義して見たいと思っているので、これらの文字列を取り除きたくないのです。無効な文字を取り除いているコードを使用すると、 "["と "["しかし、この場合、私はまだそれらを保存する必要があります...私は何ができますか?無効な文字を含むXMLを保存する
0
A
答えて
0
気にしないで、私の代わりにXML 1.0のXML 1.1を使用するように私の正規表現の形式を変更し、今では良い取り組んでいる:
string pattern = String.Empty;
//pattern = @"#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|7F|8[0-46-9A-F]9[0-9A-F])"; //XML 1.0
pattern = @"#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|[19][0-9A-F]|7F|8[0-46-9A-F]|0?[1-8BCEF])"; // XML 1.1
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
if (regex.IsMatch(sString))
{
sString = regex.Replace(sString, String.Empty);
File.WriteAllText(sString, sString, Encoding.UTF8);
}
return sString;
0
これは私のために働いた、そしてそれは速かったです。
private object NormalizeString(object p) {
object result = p;
if (p is string || p is long) {
string s = string.Format("{0}", p);
string resultString = s.Trim();
if (string.IsNullOrWhiteSpace(resultString)) return "";
Regex rxInvalidChars = new Regex("[\r\n\t]+", RegexOptions.IgnoreCase);
if (rxInvalidChars.IsMatch(resultString)) {
resultString = rxInvalidChars.Replace(resultString, " ");
}
//string pattern = String.Empty;
//pattern = @"";
////pattern = @"#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|7F|8[0-46-9A-F]9[0-9A-F])"; //XML 1.0
////pattern = @"#x((10?|[2-F])FFF[EF]|FDD[0-9A-F]|[19][0-9A-F]|7F|8[0-46-9A-F]|0?[1-8BCEF])"; // XML 1.1
//Regex rxInvalidXMLChars = new Regex(pattern, RegexOptions.IgnoreCase);
//if (rxInvalidXMLChars.IsMatch(resultString)) {
// resultString = rxInvalidXMLChars.Replace(resultString, "");
//}
result = string.Join("", resultString.Where(c => c >= ' '));
}
return result;
}
関連する問題
- 1. ノード名に無効な文字を含むXMLを解析する方法は?
- 2. 無効な文字を含むフィールドをSpark 2からParquetにエクスポートする
- 3. StreamException:無効なXML文字(Unicode:0x1a)
- 4. Sax無効なXML文字例外
- 5. XML例外:無効な文字
- 6. 無効な属性文字xml docfrag innerxmll
- 7. アクセントを含むXMLパーサーカット文字列
- 8. XMLラベルは無効な文字を無視しますか?
- 9. 保存XML文字列
- 10. PDFを保存する際に無効な文字を置き換えます。
- 11. Ajax GETリクエストは、Internet Explorerで無効な文字を含むXMLの "parsererror"を返します
- 12. 特殊文字を含むメッセージを保存できません
- 13. プロパティ名に無効な文字を含むJSONを変換します。
- 14. Javaを含むSOAPElementにXMLを含む文字列を追加する
- 15. 無効なフィールドを保存する
- 16. XMLで無効な文字を解析する
- 17. 無効な文字でXMLを解析する
- 18. 文字を含む文字列を含む文字列
- 19. PHPで無効な要素を含むXML/SGMファイルを解析するには?
- 20. メッセージ「無効なアドレス」を含むphpmailerException
- 21. C++/QT - QFileDialog :: getOpenFileName filter * .xmlは、名前に日本語の文字を含むファイルを無効にします。
- 22. hanaにパーセント記号を含む文字列を保存する方法は?
- 23. Redisで圧縮(バッファ)データを含む文字列データを保存する
- 24. Javaがファイル名に特殊文字を含むファイルを保存する
- 25. 無効な文字
- 26. MYSQL:無効なJSONテキスト: "無効なエスケープ文字(文字列内)"
- 27. oracle xml解析で無効な文字エラーが発生する
- 28. 無効な文字(漢字)
- 29. MongoDBとJavaドライバ:クエリで特別な文字を含む「大文字と小文字を無視する」
- 30. ノードのテキストに大なり文字を含むXMLノードをフィルタリングする
あなたがコードやXMLを投稿した場合は、** **テキストエディタでこれらの行をハイライト表示し、きれいにフォーマットし、構文は、それを強調するために、エディタのツールバーの「コードサンプル」ボタン({})をクリックしてください! –
、ありがとう。 – Bohn
XMLは通常の言語ではありません! – Amy