У меня есть файл 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();
}
Любое понимание или предложения приветствуются. Заранее спасибо.