public class ParseXML { public static void main(String[] args) { try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); File file = new File("d:/table/AFFICHE.xml"); // 创建 Document document = builder.parse(file); FileWriter fw = new FileWriter("d:/23.txt"); // 从数据库提取 // String xmlstr= "<beans><name>liu</name><pass>123</pass></beans>"; // builder.parse(new ByteArrayInputStream(str.getBytes())); // save to mysql // StringWriter output = new StringWriter(); // TransformerFactory.newInstance().newTransformer().transform( // new DOMSource(document), new StreamResult(output)); //System.out.println(output.toString()); // 对内展现 XPathFactory factoryXpah = XPathFactory.newInstance(); XPath xpath = factoryXpah.newXPath(); XPathExpression expr = xpath.compile("//RECORD"); StringBuffer sql = new StringBuffer(); NodeList node = (NodeList)expr.evaluate(document,XPathConstants.NODESET); for(int i=0;i<node.getLength();i++){ Node n = node.item(i); NodeList ns = n.getChildNodes(); sql.append("insert into "); sql.append(file.getName().substring(0,file.getName().lastIndexOf("."))); sql.append(" values("); for(int j =1;j<ns.getLength();j+=2){ sql.append("'"); String name = ns.item(j).getNodeName(); if(name.indexOf("DATE")==-1){ sql.append(ns.item(j).getTextContent().replaceAll("(//s+|//t+)", "")); }else{ sql.append(ns.item(j).getTextContent().substring(0,ns.item(j).getTextContent().length()-7)); } //sql.append(ns.item(j).getTextContent().replaceAll("(//s+|//t+)", "")); if(j<(ns.getLength()+1)/2) sql.append("',"); } sql.append(")"); sql.append(";"); } fw.write(sql.toString()); fw.close(); //System.out.println(expr.evaluate(document)); // 对jsp jstl xml // 参考 http://www.java2s.com/Code/Java/JSP/XML.htm } catch (Exception e) { e.printStackTrace(); } } }