org.xml.sax.helpers.DefaultHandlerでXMLをparseするときのwhitespace問題

XML

<data>
  <name></name>
  <age>20</age>
</data>

生じる問題

開始タグと終了タグの間に何もない場合は,charactersメソッドが呼び出されない.

従って以下の順番でメソッドが呼ばれる.

  1. startElement: data
  2. characters: " "(空白)
  3. startElement: name
  4. endElement: name
  5. startElement: age
  6. characters: 20
  7. endElement: age
  8. endElement: data

を読み込むときはcharactersが呼び出されないので注意.
charactersで取得した文字列は" "(空白)なのでそのまま使うとおかしい.

対処

trim()で対処した.