xml

来源:互联网 发布:最火的网络武侠小说 编辑:程序博客网 时间:2024/04/30 14:42

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

原创粉丝点击