/*** 创建和写入xml
*@paramxmlrootname
*@paramwaitConverList*/
private void createAndWriterXML(String xmlrootname,MapwaitConverList){
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 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 map =ConverUtils.converBeanToMap(baseModel);
Element item=document.createElement(xml.getValue());
root.appendChild(item);if( map != null && map.size()>0){
Map 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= newDOMSource(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= newStreamResult(pw);
transformer.transform(source, result);//关键转换
} catch(Exception e) {
e.printStackTrace();
}
}