关于xml和上一篇文章一样 public void printNodeInfo(Node node) { System.out.println(node.getNodeName() + ":" + node.getNodeValue()); } public void printNode(Node node) { switch (node.getNodeType()) { case Node.PROCESSING_INSTRUCTION_NODE: System.out.println("--------------PI start---------------------"); printNodeInfo(node); System.out.println("--------------PI end---------------------"); break; case Node.ELEMENT_NODE: System.out .println("--------------element start---------------------"); printNodeInfo(node); NamedNodeMap attrs = node.getAttributes(); for (int i = 0; i < attrs.getLength(); i++) { System.out .println("-------------------attr start--------------------"); System.out.println(attrs.item(i)); System.out .println("-------------------attr end--------------------"); } System.out .println("--------------element end---------------------"); break; case Node.TEXT_NODE: printNodeInfo(node); break; default: break; } /* * 递归调用 */ Node child = node.getFirstChild(); while (child != null) { printNode(child); child = child.getNextSibling(); } } public static void main(String[] args) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new File("bin/students.xml")); DOMPrinter domPri = new DOMPrinter(); domPri.printNode(doc); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }