#java #domparser
Вопрос:
Я пытаюсь проанализировать xml — документ и получить все дочерние узлы (и, в конечном итоге, их значения и отправить их в базу данных), но, похоже, я не могу получить дочерние узлы! По какой-то причине метод просто создает список узлов, в котором есть только корневой элемент и текстовое содержимое всех дочерних узлов.
XML:
<CONFIG>
<PATHS>
<JRAMDIR>E:/CTS/DEV/operational/app</JRAMDIR>
</PATHS>
<ADD_DOCUMENT_CONFIG>
<OPERATIONAL_WEB_DIR>E:/CTS/DEV/operational/web</OPERATIONAL_WEB_DIR>
<MAX_FILE_SIZE>10485760</MAX_FILE_SIZE>
</ADD_DOCUMENT_CONFIG>
</CONFIG>
вот мой код:
public static void reader(){
try {
File inputFile = new File("main/testfilexml.txt");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = factory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
NodeList childNodes = doc.getChildNodes();
for(int i = 0; i < childNodes.getLength(); i ){
if (childNodes.item(i) instanceof Element) {
Element node = (Element) childNodes.item(i);
System.out.println(node.getNodeName() " : " node.getTextContent());
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Результат:
CONFIG :
E:/CTS/DEV/operational/app
E:/CTS/DEV/operational/web
10485760
Желаемые результаты (на данный момент я отправлю их в бд позже):
JRAMDIR : E:/CTS/DEV/operational/app
OPERATIONAL_WEB_DIR : E:/CTS/DEV/operational/web
MAX_FILE_SIZE : 10485760
Спасибо вам за помощь!