Java codepublic class DOMParseXML {
public void scanXML(File thefile) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
Document doc = null;
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
doc = db.parse(thefile);
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element root = doc.getDocumentElement();
echoNode(root);
}
private void echoNode(Node node) {
switch (node.getNodeType()) {
case Node.ELEMENT_NODE:
System.out.println("This is an element: ");
System.out.println("Name: " + node.getNodeName() + "/n");
if (node.hasChildNodes()) {
NodeList nlist = node.getChildNodes();
for (int i = 0; i < nlist.getLength(); i++) {
echoNode(nlist.item(i));
}
}
if (node.hasAttributes()) {
NamedNodeMap namedNodeMap = node.getAttributes();
for (int i = 0; i < namedNodeMap.getLength(); i++) {
echoNode(namedNodeMap.item(i));
}
}
break;
case Node.ATTRIBUTE_NODE:
System.out.println("This is an attribute: ");
System.out.println("Name :" + node.getNodeName());
System.out.println("Value :" + node.getNodeValue() + "/n");
break;
case Node.TEXT_NODE:
System.out.println("This is a text: ");
System.out.println("Content: /" " + node.getNodeValue() + "/"/n");
break;
default:
System.out.println("### Node type: " + node.getNodeType() + "###");
System.out.println("Name: " + node.getNodeName());
System.out.println("Value: " + node.getNodeValue());
break;
}
}
public static void main(String[] args) {
DOMParseXML test = new DOMParseXML();
test.scanXML(new File("F://1.xml"));
}
}