JAVA读取xml文件
http://blog.csdn.net/k1113k/article/details/1495807
Node.getChildNodes()方法是获得所有子节点,你要判断子节点的类型是element还是其他类型,然后再继续往深层找.感觉挺麻烦.
例子1:
例子2:public static List<TableConfig> getTableConfigs(){DocumentBuilderFactory factory = null;DocumentBuilder db = null;Document doc = null;List<TableConfig> tableConfigList = new ArrayList<TableConfig>();try {factory = DocumentBuilderFactory.newInstance();db = factory.newDocumentBuilder();doc = db.parse(new File(xmlFilePath));Element root = doc.getDocumentElement();System.out.println(root.getTagName());NodeList tableNodeList = doc.getElementsByTagName("table");System.out.println(tableNodeList.getLength());for(int i=0; i<tableNodeList.getLength(); i++){System.out.println(tableNodeList.item(i).getNodeName());NodeList tableList = tableNodeList.item(i).getChildNodes();System.out.println(tableList.getLength());TableConfig tc = new TableConfig();for(int j=0; j<tableList.getLength(); j++){if(tableList.item(j) instanceof Element){String nodeName = tableList.item(j).getNodeName();String nodeText = tableList.item(j).getChildNodes().item(0)!=null?tableList.item(j).getChildNodes().item(0).getTextContent():null;System.out.println(nodeName+":"+nodeText);if("tableName".equalsIgnoreCase(nodeName)) tc.setTableName(nodeText);if("primaryKey".equalsIgnoreCase(nodeName)) tc.setPrimaryKey(nodeText);if("excludeCols".equalsIgnoreCase(nodeName)) tc.setExcludeCols(nodeText);if("parsentColumns".equalsIgnoreCase(nodeName)) tc.setParsentColumns(nodeText);if("isInsertOnly".equalsIgnoreCase(nodeName)) tc.setIsInsertOnly(nodeText);if("includeIDS".equalsIgnoreCase(nodeName)) tc.setIncludeIDS(nodeText);if("excludeIDS".equalsIgnoreCase(nodeName)) tc.setExcludeIDS(nodeText);}}tableConfigList.add(tc);}} catch (Exception e) {e.printStackTrace();}return null;}