zoukankan      html  css  js  c++  java
  • java-w3c.document生成xml文件

    案例

        /**
         * 创建和写入xml
         * @param xmlrootname
         * @param waitConverList
         */
        private void createAndWriterXML(String xmlrootname,Map<String ,BaseModel> waitConverList){
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
            DocumentBuilder builder = null ;
            try {
                builder = factory.newDocumentBuilder();
            } catch (ParserConfigurationException e) {
                e.printStackTrace();
            }
            if( builder == null ) return ;
            Document  document = builder.newDocument();  
            Element root = document.createElement(xmlrootname);   //创建根节点  
            document.appendChild(root);  
    
            Map<String,TableXml> xmlTableMap = InitTableInfo.getXmlTableMap();
            for (String tablename: waitConverList.keySet()) {
                TableXml xml = xmlTableMap.get(tablename);
                if(xml == null )continue;
                BaseModel baseModel = waitConverList.get(tablename);
                if( baseModel == null )continue;
                HashMap<String, Object> map = ConverUtils.converBeanToMap(baseModel);
                
                Element item = document.createElement(xml.getValue());  
                root.appendChild(item);
                if( map != null && map.size()>0 ){
                    Map<String,String> columnMap = xml.getColumnMap();
                    for (String key : columnMap.keySet()) {
                        if(StringUtils.isBlank(key))continue;
                        Element childItem = document.createElement(columnMap.get(key));  
                        Object ob = map.get(key.toUpperCase());
                        childItem.appendChild(document.createTextNode(ob==null?"":ob.toString()));  
                        item.appendChild(childItem);
                    }
                }
            }
              
            //将DOM对象document写入到xml文件中  
            TransformerFactory tf = TransformerFactory.newInstance();  
            try {  
                Transformer transformer = tf.newTransformer();  
                DOMSource source = new DOMSource(document);  
                transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");  
                transformer.setOutputProperty(OutputKeys.VERSION, "1.0");  
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");  
                PrintWriter pw = new PrintWriter(new FileOutputStream("C:\Users\huage\Desktop\o\"+xmlrootname+".xml"));  
                StreamResult result = new StreamResult(pw);  
                transformer.transform(source, result);     //关键转换  
            } catch (Exception e) {  
                e.printStackTrace();
            }  
            
        }
        
  • 相关阅读:
    在Linux系统中Navicat for MySQL 出现1045错误如何处理
    一个老程序员这些年的心得体会
    忘了
    DAY11
    day10_plus
    day10
    东北育才冲刺noip(day9)
    Java语言Socket接口用法详解
    JDBC-ODBC桥连接方式操纵SQL数据库
    JDBC连接SQL Server 2005步骤详解
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/5807194.html
Copyright © 2011-2022 走看看