Здравствуйте. Пишу программу на Java. В коде использую цикл for для получению значений из xml файла. Код ниже.
public static void main(String[] args) {
try {
// Строим объектную модель исходного XML файла
final File xmlFile = new File(appdata, "file.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(xmlFile);
// Выполнять нормализацию не обязательно, но рекомендуется
doc.getDocumentElement().normalize();
// Получаем все узлы с именем "Server"
NodeList nodeList = doc.getElementsByTagName("Server");
for (int i = 0; i < nodeList.getLength(); i++) {
// Выводим информацию по каждому из найденных элементов
Node node = nodeList.item(i);
if (Node.ELEMENT_NODE == node.getNodeType()) {
Element element = (Element) node;
String Host = element.getElementsByTagName("Host").item(0).getTextContent();
}
}
} catch (ParserConfigurationException | SAXException
| IOException ex) {
Logger.getLogger(XMain.class.getName())
.log(Level.SEVERE, null, ex);
}
}
Задача такова: получить из xml файла несколько значений (она выполнена) и записать их в txt файл, который должен сперва создаться. Но поскольку отображение значений xml файла находиться в цикле for и этих значений может быть много, то в результате переборки цикла, записывается значение только последнее. А если например поставить System.out.println(Host); - то цикл переберёт все значения Host и выдаст по порядке.
Как это сделать?