XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
2022-01-23 23:28:22
午後からStatus2の設定を行うと、java.util.NoSuchElementExceptionがスローされ、結果が暴走します。次のコードは、デモのためのものです。
Exception in thread "main" java.util.NoSuchElementException
at java.util.ArrayList$Itr.next(ArrayList.java:794)
at name.hzy.test.XmlUtil.main(XmlUtil.java:27)
JAVAコードは以下の通りです。
public static void main(String[] args) {
File file = new File("X:\\aa.xml");
Document doc;
Element foo;
try {
doc = new SAXReader().read(file);
Element root = doc.getRootElement();
Iterator<Element> iterator = root.elementIterator("VALUE");
while (iterator.hasNext()) {
foo = iterator.next();
String name = foo.attributeValue("name");
Iterator<Element> it = foo.elementIterator("NO");
while (it.hasNext()) {
System.out.println("The license plate number is:"+it.next().getText()); <----this sentence is wrong,,, how CSDN does not give red.
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
XMLファイルは以下の通りです。
<?xml version="1.0" encoding="GB2312"? >
<RESULT>
<VALUE name="one">
<NO name="1">A1234</NO>
<NO name="2">A1234B</NO>
</VALUE>
<VALUE name="two">
<NO>B1234</NO>
</VALUE>
</RESULT>
コードの確認を待ち、ググる。やっと何が悪いかわかった、赤背景のコードが間違ってたので変更した。
while (it.hasNext()) {
Element e = it.next();
System.out.println("The license plate number is:"+e.getText());
}
違いを見てください。しかし、なぜそのように書かれているのかがわからない。私の理屈では、上のような書き方でも問題ないと思うので、APIをよく見る必要がありそうです。
最後になりますが、XMLの操作にはDOM4Jを使用しています。
関連
-
executeQuery()でデータ操作文が発行できない。解決方法
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
シェルコマンドやスクリプトのJavaコール
-
Java基礎編 - オブジェクト指向
-
Java:未解決コンパイル問題の解決方法
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
switch case文のcaseの後の列挙定数は列挙型なし
-
htmlとwordの相互変換の実装(画像あり)
-
ApiModel と @ApiModelProperty の使用法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
Javaがテキストファイルを読み込む
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
maven レポート エラー 解決不可能な親POM
-
API の戻り値を処理するために ResponseEntity を使用する
-
MyBatisカスタムタイプハンドラ TypeHandler
-
ロンボク版問題による血の海を思い出せ