Java appendChild (преобразование CSV в XML) не работает для ОДНОГО узла
Поэтому мне нужно преобразовать файл CSV в отдельные файлы XML (по одному файлу XML на строку в файле CSV). И все это прекрасно работает, за исключением того, что он отказывается добавить одну ценность. Он добавляет другой без проблем, но по какой-то загадочной причине отказывается создавать тег для одного из моих узлов.
Document newDoc = documentBuilder.newDocument();
Element rootElement = newDoc.createElement("XMLoutput");
newDoc.appendChild(rootElement);
String header = headers.get(col);
String value = null;
String value2 = null;
if (col < rowValues.length) {
if(header.equals("delay")) {
value = rowValues[col];
Thread.sleep(Long.parseLong(value));
}
Element shipidElement = newDoc.createElement("shipID");
shipidElement.appendChild(newDoc.createTextNode(FilenameUtils.getBaseName(csvFileName)));
rootElement.appendChild(shipidElement);
if(header.equals("centraleID")) {
value = rowValues[col];
System.out.println(value); //to check if the if condition works, it does
Element centralElement = newDoc.createElement(header);
Text child = newDoc.createTextNode(value);
centralElement.appendChild(child);
rootElement.appendChild(centralElement);
}
else if(header.equals("afstandTotKade")) {
value2 = rowValues[col];
Element curElement = newDoc.createElement(header);
curElement.appendChild(newDoc.createTextNode(value2));
rootElement.appendChild(curElement);
}
String timeStamp = new SimpleDateFormat("HH:mm:ss").format(new Date());
Element timeElement = newDoc.createElement("Timestamp");
timeElement.appendChild(newDoc.createTextNode(timeStamp));
rootElement.appendChild(timeElement);
}
Таким образом, в приведенном выше коде проверка цикла if для CentraleID фактически работает, потому что она печатает значения, однако файл XML не добавляет тег, даже если я просто вставляю строку вместо значения заголовка. Однако он вставляет узел "afstandTotKade" и узел временной метки. Я ошеломлен.
PS: это, конечно, только часть кода, но проблема настолько незначительна, что добавлять все это кажется излишним.
PPS: код изначально был таким же, как и другие, я просто поиграл.
Это итоговый XML-файл, кстати, так что другой if добавляет узлы, и я знаю, что орфография верна при проверке заголовка, потому что он выводит значения (код sout), когда я его запускаю:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<XMLoutput>
<shipID>1546312</shipID>
<afstandTotKade>1000</afstandTotKade>
<Timestamp>22:06:33</Timestamp>
</XMLoutput>