I was looking thru StackOverflow but i can't find best answer. I need to read XML file in JAVA. My XML file looks like below: `
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<server>
<server01>
<department>A1</department>
<department>A2</department>
</server01>
<server02>
<department>A1</department>
<department>A2</department>
</server02>
</server>
Is there a possiblity to read in Java elements between <server01>
and <server02>
, excluding rest of file? Or I need to use different tags? I found method how to read parentnodes:
NodeList serversNames = xmlD.getDocumentElement().getChildNodes();
for (int i = 0; i < serversNames.getLength(); i++) {
Node node = serversNames.item(i);
if (node instanceof Element) {
Element childElement = (Element) node;
System.out.println("tag name: " + childElement.getTagName());
}
}
I am able to read all departments tags and save them to array:
NodeList serverName = xmlD.getElementsByTagName("department");
serversList = new String[serverName.getLength()];
System.out.println("zasieg: " + serverName.getLength());
for (int temp = 0; temp < serverName.getLength(); temp++) {
Element shareName = null;
shareName = (Element) serverName.item(temp);
serversList[temp] = shareName.getTextContent();
System.out.println(temp + " - " + serversList[temp]);
}
So, again, is there a possibility to read elements of parent node only? Elements of SERVER01 only?