DOM W3c XML Element Parsing Null Attribute

Я разбираю некоторые данные из XML, используя DOM в этом формате:

<?xml version = "1.0" encoding = "UTF-8" standalone = "yes"?>
<FEFExchangeFile>
    <program>
        <identProgram name = "TestSection" type = "section" task = "MAST"></identProgram>
        <FBDSource nbRows = "24" nbColumns = "36">

Список узлов узла "программа" правильно разбирается следующим образом:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(CodeFile);
NodeList programeNodeList= doc.getElementsByTagName("program");

Я получаю элемент "program" в цикле for из списка узлов, который также отлично работает, как показано ниже:

 // Get the current program node element
 Element programNode = (Element) programeNodeList.item(i);

Затем, когда я получаю первый элемент «идентПрограмма» в элементе «программа», он работает нормально вот так, и я могу взять атрибуты в строку:

 // Get the IdentProgram node element from Program node
 Element identProgramElement = (Element) programNode.getElementsByTagName("identProgram").item(0);

Но что меня поставило в тупик. В том же самом коде, что и выше, который я использую для получения "identProgram", я использую для получения следующего элемента после этого "fbdSource", но он дает мне исключение с нулевым указателем:

 // Get the FbdSource element from Program node 
 Element fBDSourceElement = (Element) programNode.getElementsByTagName("FBDSource").item(0);

Как указано, код, используемый для получения identityProgram и fbdSource, одинаков. Они находятся на одном уровне в xml. Не уверен, что могло вызвать это.

Спасибо

Первый шаг - определить, какая ссылка - null. К сожалению, мы не сможем сильно помочь без минимальный воспроизводимый пример и полной ошибки (трассировка стека).

Slaw 01.01.2019 06:16

пожалуйста, четко укажите содержимое XML и ошибку

Lakshan 01.01.2019 18:31
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
38
0

Другие вопросы по теме