У меня есть файл XML, в котором некоторые вложенные теги (элементы дочерних узлов) являются необязательными.например,
<part>
<note>
</rest>
</note>
<note>
<pitch></pitch>
</note>
<note>
<pitch></pitch>
</note>
</part>
Но когда я читаю XML-файлы по тегам, он выдает исключение NullPointerException - поскольку некоторые вложенные теги являются необязательными (например, rest и pitch в приведенном выше примере)Как я могу отфильтровать это?Я не мог найти какие-либо методы, чтобы найти, существует ли элемент по определенному имени тега.Даже если у меня есть условие, чтобы проверить, не возвращает ли метод getElementsByTagName ("имя-тега") значение 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();
}
Любые идеи и предложения приветствуются.Заранее спасибо.