У меня есть вопрос, касающийся XML, использования DOM в Java и пустых узлов.В настоящее время я работаю над проектом, в котором я беру XML-файл дескриптора абстрактных машин (для разбора текста) и анализирую с ними ряд входных строк.Фактическое построение и интерпретация этих абстрактных машин все сделано и работает нормально, но я столкнулся с довольно интересным требованием XML.В частности, мне нужно иметь возможность превратить пустой узел InputString в пустую строку ("") и по-прежнему выполнять процедуры синтаксического анализа.Проблема, однако, возникает, когда я пытаюсь извлечь этот пустой узел из моего дерева XML.Это вызывает исключение нулевого указателя, и тогда вообще плохие вещи начинают происходить.Вот оскорбительный фрагмент XML (обратите внимание, что первый элемент пуст):
<InputStringList>
<InputString></InputString>
<InputString>000</InputString>
<InputString>111</InputString>
<InputString>01001</InputString>
<InputString>1011011</InputString>
<InputString>1011000</InputString>
<InputString>01010</InputString>
<InputString>1010101110</InputString>
</InputStringList>
Я извлекаю строки из списка, используя:
//Get input strings to be validated
xmlElement = (Element)xmlMachine.getElementsByTagName(XML_INPUT_STRING_LIST).item(0);
xmlNodeList = xmlElement.getElementsByTagName(XML_INPUT_STRING);
for (int j = 0; j < xmlNodeList.getLength(); j++) {
//Add input string to list
if (xmlNodeList.item(j).getFirstChild().getNodeValue() != null) {
arrInputStrings.add(xmlNodeList.item(j).getFirstChild().getNodeValue());
} else {
arrInputStrings.add("");
}
}
Как мне обращаться с этим пустым регистром?Я нашел много информации об удалении пустых текстовых узлов, но я все еще должен анализировать пустые узлы как пустые строки.В идеале я бы хотел не использовать специальный символ для обозначения пустой строки.
Заранее благодарим вас за потраченное время.