• ベストアンサー

.netのXmlDocumentを使ってテキストノードのタブや改行を無視する方法

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

質問者が選んだベストアンサー

  • ベストアンサー
  • yotchan2
  • ベストアンサー率61% (8/13)
回答No.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; }

kurage-fuwari
質問者

お礼

現状、取得後に削除しております。 たしかに、関数化しておくと便利ですね(^^) アドバイス有難うございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

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

kurage-fuwari
質問者

お礼

やはり、取得後に削除することになるのですね。 (実は現状、上記の方法で対応しています。) アドバイス有難うございました。

関連するQ&A