一部のサブタグ (子ノード要素) がオプションである XML ファイルがあります。例えば
<part>
<note>
</rest>
</note>
<note>
<pitch></pitch>
</note>
<note>
<pitch></pitch>
</note>
</part>
しかし、XML ファイルをタグで読み取ると、NullPointerException がスローされます。これは、一部のサブタグがオプションであるためです (例: 上記の例の rest と pitch)。どうすればこれを除外できますか? 特定のタグ名で要素が存在するかどうかを確認する方法は見つかりませんでした。getElementsByTagName("tag-name") メソッドが NULL を返さないかどうかを確認する条件があっても、条件本体に入り、明らかに例外をスローします。どうすればこれを解決できますか?
Java コードは次のとおりです。
if(fstelm_Note.getElementsByTagName("rest")!=null){
if(fstelm_Note.getElementsByTagName("rest")==null){
break;
}
NodeList restElmLst = fstelm_Note.getElementsByTagName("rest");
Element restElm = (Element)restElmLst.item(0);
NodeList rest = restElm.getChildNodes();
String restVal = ((Node)rest.item(0)).getNodeValue().toString();
}else if(fstelm_Note.getElementsByTagName("note")!=null){
if(fstelm_Note.getElementsByTagName("note")==null){
break;
}
NodeList noteElmLst = fstelm_Note.getElementsByTagName("note");
Element noteElm = (Element)noteElmLst.item(0);
NodeList note = noteElm.getChildNodes();
String noteVal = ((Node)note.item(0)).getNodeValue().toString();
}
洞察や提案をいただければ幸いです。前もって感謝します。