0

同じタグ名を持つ複数の XML ファイルをインポートしていますが、一部のファイルにはいくつかのタグがありません。

<title></title>私のインポートは、すべての「フィールド」 (つまり)を持つすべてのファイルに対してうまく機能しjava.lang.NullPointerExceptionますが、クラスの値を XML ファイルに存在しない項目に設定しようとするとエラーが発生します。

例えば:

for(NewsItem item : parser.getParsedItems())
{
    Article a1 = new Article();
    a1.title = item.title.trim();
    a1.subtitle = item.subhead.trim();
    //...
}

これはほとんどの場合うまく機能しますが、そのうちの 1 つに「サブヘッド」タグがない場合、エラーが発生します。

記事の「タイトル」値に設定する前に、設定されているか値があるかを確認する方法はありますか? (例として)。

試しif(!item.title.isEmpty())ましたが、それでもエラーが発生します。

(または、私が見落としているより良い方法はありますか?)

4

1 に答える 1

1

要素が存在しない場合は、null であるため isEmpty() をチェックできません。

if(item.title != null && !item.title.isEmpty()) {
    // Yay, we have something useful!
    a1.title = item.title.trim();
} else {
    // Perhaps we should give a default value?
    a1.title = "";
}
于 2012-07-06T20:14:48.017 に答える