日期:2014-05-18 浏览次数:20765 次
public 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")); } }