xml

    技术2022-05-20  46

    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();         }     } }


    最新回复(0)