Нужно, чтобы вывело все теги из file.xml. Почему выводит только одну картинку с ссылкой, а не все? Где ошибка и как исправить?
file.xml
<?xml version="1.0" encoding="windows-1251"?>
<DownloadFiles>
<file>
<name>cayyt.jpg</name>
<url>http://fotohost.by/images/2018/02/20/1D2M0ViqRmE.jpg</url>
</file>
<file>
<name>cot.jpg</name>
<url>http://fotohost.by/images/2018/02/20/jCazpzBUG44.jpg</url>
</file>
<file>
<name>cot.jpg</name>
<url>http://fotohost.by/images/2018/02/20/jCazpzBUG44.jpg</url>
</file>
</DownloadFiles>
Код на java
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setValidating(false);
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(file);
doc.getDocumentElement().normalize();
System.out.println("Корневой элемент: " + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("DownloadFiles");
System.out.println();
List<XmlFile> xmlList = new ArrayList<XmlFile>();
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
Element eElement = (Element) nNode;
xmlList.add(getFileItem(nNode));
}
for (XmlFile obj : xmlList) {
System.out.println(obj.toString());
}
} catch (Exception exc) {
exc.printStackTrace();
}
}
private static XmlFile getFileItem(Node node) {
XmlFile xmlFile = new XmlFile();
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
xmlFile.setName(getTagValue("name", element));
xmlFile.setUrl(getTagValue("url", element));
}
return xmlFile;
}
private static String getTagValue(String tag, Element element) {
NodeList nodeList = element.getElementsByTagName(tag).item(0).getChildNodes();
Node node = (Node) nodeList.item(0);
return node.getNodeValue();
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как правильно удалить данные с таблицы БД(SQL) при их отсутствии в списке(множестве) В java, с минимальным обращением к БД