パスワードを忘れた? アカウント作成
431809 journal

jjkingの日記: DOM にはまる - 文字列取得

日記 by jjking

先週末はあるDOMノードに含まれる文字列を取得するというのにはまってしまった。たとえば、Nameエレメントの中にある文字列 'hello'というのを取る場合自分は次のようなメソッドに Name エレメントを引数で渡して取得している。

  • public static String getString(Element elem)
    {
            return elem.getFirstChild() != null ? elem.getFirstChild().getNodeValue() : null;
    }

今まで、いろんな環境で動いてきたコードだったので信頼しきっていたのだが、ある客先でエレメント中の文字列が完全に取れないという現象が起きた。症状としては先の例で'hello'では無く'hel'のように一部分しか取れないというものだった。JavaやDOMのライブラリはすべて客先とあわせてあるはずなのに一体何が?と思いつつ、とりあえず次のようなパッチで回避。

  • public static String getString(Element elem)
    {
            return XPathAPI.eval(elem, ".").str();
    }

でも、XPathAPI は遅そうだし、ちゃんと調査して修正せねば。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...