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. StreamException:無効なXML文字(Unicode:0x1a)
- 3. 無効な属性文字xml docfrag innerxmll
- 4. Sax無効なXML文字例外
- 5. XML例外:無効な文字
- 6. 特殊文字を含むメッセージを保存できません
- 7. アクセントを含むXMLパーサーカット文字列
- 8. プロパティ名に無効な文字を含むJSONを変換します。
- 9. 文字を含む文字列を含む文字列
- 10. 無効なフィールドを保存する
- 11. 無効な文字
- 12. C++/QT - QFileDialog :: getOpenFileName filter * .xmlは、名前に日本語の文字を含むファイルを無効にします。
- 13. oracle xml解析で無効な文字エラーが発生する
- 14. ノードのテキストに大なり文字を含むXMLノードをフィルタリングする
- 15. Ajaxリクエストに無効な文字が含まれています
- 16. 無効なUTF-8バイトを含むScala文字列を作成することはできますか?
- 17. 保存履歴を無効にする
- 18. XMLフィードデータに無効な文字があります
- 19. file_get_contentsと無効な文字
- 20. java.sql.SQLException:ORA-00911:無効な文字
- 21. 無効な文字警告
- 22. ORA-00911:無効な文字
- 23. 無効な文字「」 '式で
- 24. SyntaxError:無効な文字: '#'
- 25. PHP無効な文字エラー
- 26. アンパサンド(&)文字を含むファイルパス
- 27. バックスラッシュを含む文字列
- 28. 文字列を含むsyslog?
- 29. この文字列をXMLファイルに保存する方法は?
- 30. 変数をxmlに保存する際の文字列エラー
あなたがコードやXMLを投稿した場合は、** **テキストエディタでこれらの行をハイライト表示し、きれいにフォーマットし、構文は、それを強調するために、エディタのツールバーの「コードサンプル」ボタン({})をクリックしてください! –
、ありがとう。 – Bohn
XMLは通常の言語ではありません! – Amy