Запись более одного элемента с одинаковым именем в XML-файл с использованием JDOM в JAVA

#java #xml-parsing #jdom

#java #синтаксический анализ xml #jdom

Вопрос:

Я должен перебирать объект, содержащий данные для всех XML-элементов, соответствующим образом устанавливать значения и записывать их в файл.

Вот мой исходный код,

 for(int i=0;i< dataHolder.getNumSensorsList().size();i  ) {

    NumSensor numSensor = (NumSensor) dataHolder.getNumSensorsList().get(i);
    Element numSensorElement = new Element("numSensor");
    numSensorElement.setAttribute("ruleid",numSensor.getRuleId());

    Element type = new Element("type");
    type.addContent(numSensor.getUnit());
    numSensorElement.addContent(type);

    Element sensorId = new Element("sensorId");
    sensorId.addContent(numSensor.getSensorId());
    numSensorElement.addContent(sensorId);

    Element label = new Element("label");
    label.addContent(numSensor.getLabel());
    numSensorElement.addContent(label);
}
  

В случае, если я выполняю цикл три раза и добавляю разные данные в « numSensorElement » все три раза, и я добавляю « numSensorElement » в корневой тег и записываю его в XML-файл. Я получаю три копии « numSensorElement » с информацией из третьего цикла. Первые два цикла заменяются и записываются со значениями третьего цикла три раза.

Пожалуйста, помогите мне с каким-то лучшим подходом, чем мой.

Заранее спасибо.

Ответ №1:

Можете ли вы распечатать их в цикле? numSensor.getRuleId(), numSensor.getUnit() и numSensor.getLabel()

А затем поделитесь полным результатом, который вы получаете.

Комментарии:

1. Спасибо за ваш ответ. Извините, что я неправильно обработал свой список. Проблема была в списке, который у меня был, а не в элементе. Спасибо за предложение.