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>

0 ответов

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