電子書籍の厳選無料作品が豊富!

.NETのXmlDocumentオブジェクト等を使って、XMLファイルを読み込むプログラムを作っているのですが、
XmlNode.InnerTextでテキストノードの値を取得した場合、
タブや改行を含んだテキストが取得されてしまいます。
文字の部分だけを取得したいのですが、方法がわかりません。
ご存知の方が折られましたら、ご教示ください。
よろしくお願いいたします。

----
<Example>
(TAB)あいう(改行)
</Example>
とある場合、「あいう」だけ取得したいのですが、
「(TAB)あいう(改行)」と取得されてしまいます。

A 回答 (2件)

タブ:\t


改行:\n(\r\nの場合もありますが・・)
を、Replaceメソッドを使って取っ払ってやるといいです。
string text = "(TAB)あいう(改行)".Replace("(TAB)", "").Replace("(改行)", "");

こういった形は、多数あるとめんどいので、メソッドにしてしまうと
よいかと思われます。

private static string hoge(string text){
string ret = text.Replace("(TAB)", "").Replace("(改行)", "");
return ret;
}
    • good
    • 0
この回答へのお礼

現状、取得後に削除しております。
たしかに、関数化しておくと便利ですね(^^)

アドバイス有難うございました。

お礼日時:2006/10/24 20:01

そのような文字が必要な場合もあるでしょうから、取得した側で空白文字を削除するとイイと思います。


String.Trim() を使うと前後の空白文字を削除できます。
    • good
    • 0
この回答へのお礼

やはり、取得後に削除することになるのですね。
(実は現状、上記の方法で対応しています。)

アドバイス有難うございました。

お礼日時:2006/10/24 19:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!