2008-09-17 17 views
1

テーブルのデータフィールドに基づいてXMLファイルを作成しようとしています。テーブルのフィールドの値に基づいてノード名を付けたいとします。問題は、その列に入力された値に、ノード名に許可されていないスペースやその他の文字が含まれることがあることです。XMLノード名クリーンアップコード

誰かがコードを渡して文字列を受け取り、無効な文字を置換テキストで置換して、反対側で元に戻して元の値に戻すことができるコードはありますか?

私は、.NET使用しています(vb.netをしかし、私は、C#に変換する/読むことができます)

答えて

1

あなたが元の値を格納した場合、それは、属性内のノード名として違法だった場合、それは簡単になります。それで、あなたは、ある種の翻訳を複雑にすることについて心配することはありません。

+0

非常に良いヒントは – MikeScott8

1

実際には、データを完全に制御できない限り、翻訳プロセスはこれまでどおり動作しません。だから私は元のデータを属性か子ノードのどちらかとして保存しています。

+0

あなたは右であり、私たちは、翻訳にその正規表現のための – MikeScott8

1

あなたは元の投稿でどのような言葉を言っていないので、ここでは正規表現のパターンを使い始めましょう。これはQUICKですので、テストする必要があります。元の値を格納程度

([^A-Za-z0-9])|(\s)|(\t+)|(\c+) 
+0

感謝をしていないことになったと私はそれで遊ぶと、私はそれを作ることができるかが表示されます。 – MikeScott8

+0

YW。私はそれにわずかな変更を加えました。繰り返しますが、これは速く、私は間違いなくそれをテストしませんでした。うまくいけば助けになるだろう。 – Chuck

+0

正規表現はおそらく動作すると思いますが、どのように翻訳をやり直す予定ですか? – EBGreen

関連する問題