static float grades[][] = new float[100][5];
static int nstudent = 0;
static int gi = -1;
private static void traverse_tree(Node node)
{
if(node == null) {
return;
}
int type = node.getNodeType();
switch (type) {
case Node.DOCUMENT_NODE: {
traverse_tree(((Document)node).getDocumentElement());
break;
}
case Node.ELEMENT_NODE: {
String elementName = node.getNodeName();
gi = -1;
if(elementName.equals("hw1"))
gi = 0;
else if(elementName.equals("hw2"))
gi = 1;
else if(elementName.equals("project"))
gi = 2;
else if(elementName.equals("final"))
gi = 3;
else if(elementName.equals("student"))
nstudent++;
NodeList childNodes = node.getChildNodes();
if(childNodes != null) {
int length = childNodes.getLength();
for (int loopIndex = 0; loopIndex < length ; loopIndex++)
{
traverse_tree(childNodes.item(loopIndex));
}
}
break;
}
case Node.TEXT_NODE: {
String chData = node.getNodeValue().trim();
if(chData.indexOf("\n") < 0 && chData.length() > 0) {
if(gi >= 0)
grades[nstudent-1][gi] = Integer.parseInt(chData);
}
}
}
}