java (功能篇) dom4j 生成xml文件
熊孩纸
阅读:697
2021-03-31 22:50:21
评论:0
第一步:不说其他,现在web项目或工程中,引入dom4j的jar 文件,这是基础。
第二步:代码编写---相关注释已经添加代码中。
package com.flex;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import com.flex.model.Arc;
import com.flex.model.Node;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Demo extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
response.setCharacterEncoding("utf-8");
response.setContentType( "text/json;charset=utf-8");
PrintWriter writer=response.getWriter();
//
// List<Map<String,Object>> nodes=createNodes();
// List<Map<String,Object>> drcs=createArcs(nodes);
// JSONArray array=listToJson(drcs);
// List<Node> server=new ArrayList<Node>();
// List<Node> switchs=new ArrayList<Node>();
// List<Node> storage=new ArrayList<Node>();
// for(int i=0;i<20;i++){
// Node node=new Node();
// node.setIcon("assets/topos/server.png");
// node.setId(""+i);
// node.setText("服务器");
// node.setTooltip("服务器");
// node.setType(""+1);
// server.add(node);
// }
// for(int i=0;i<3;i++){
// Node node=new Node();
// node.setIcon("assets/topos/switch.png");
// node.setId(""+i+20);
// node.setText("交换机");
// node.setTooltip("交换机");
// node.setType(""+2);
// switchs.add(node);
// }
// for(int i=0;i<1;i++){
// Node node=new Node();
// node.setIcon("assets/topos/storage.png");
// node.setId(""+i+30);
// node.setText("存储设备");
// node.setTooltip("存储设备");
// node.setType(""+3);
// storage.add(node);
// }
//
//
// StringBuilder json=new StringBuilder();
// json.append("{\"servers\":");
// json.append(JSONArray.fromObject(server));
// json.append(",\"switchs\":");
// json.append(JSONArray.fromObject(switchs));
// json.append(",\"storage\":");
// json.append(JSONArray.fromObject(storage));
// json.append("}");
createXml("Hello.xml");
writer.write("success");
writer.flush();
writer.close();
}
//生成xml文件
public void createXml(String fileName){
//当前项目路径
String path="E:/apache-tomcat-6.0.20/webapps/Flex/xml/";
//判断文件是否存在?
File file=new File(path+fileName);
if(file.exists()){
//文件内容清空
try{
FileWriter write = new FileWriter(file);
write.write("");
write.flush();
write.close();
}catch(Exception e){
e.printStackTrace();
}
}else{
//创建文件
try{
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
//向指定文件生成xml 文件信息
Document document = org.dom4j.DocumentHelper.createDocument();//创建文档
Element graph=document.addElement("graph"); //添加根节点
for(int i=0;i<10;i++){
Element node=graph.addElement("node"); //添加根节点---子节点
//子节点属性添加
node.setAttributeValue("id", ""+i);
node.setAttributeValue("text", "服务器"+i);
node.setAttributeValue("tooltip", "服务器"+i);
node.setAttributeValue("type", "服务器");
node.setAttributeValue("icon", "assets/topos/server.png");
}
for(int i=0;i<3;i++){
Element node=graph.addElement("node"); //添加根节点---子节点
//子节点属性添加
int result=11+i;
node.setAttributeValue("id", ""+result);
node.setAttributeValue("text", "交换机"+result);
node.setAttributeValue("tooltip", "交换机"+result);
node.setAttributeValue("type", "交换机");
node.setAttributeValue("icon", "assets/topos/switch.png");
}
for(int i=0;i<1;i++){
Element node=graph.addElement("node"); //添加根节点---子节点
//子节点属性添加
node.setAttributeValue("id", ""+i+13);
node.setAttributeValue("text", "存储设备"+i+13);
node.setAttributeValue("tooltip", "存储设备"+i+13);
node.setAttributeValue("type", "存储设备");
node.setAttributeValue("icon", "assets/topos/storage.png");
}
Element arc=graph.addElement("arc"); //添加根节点---子节点
arc.setAttributeValue("id", "15");
arc.setAttributeValue("type", "connectedTo");
arc.setAttributeValue("tooltip", "");
arc.setAttributeValue("source", "11");
arc.setAttributeValue("destination", "1");
Element arc1=graph.addElement("arc"); //添加根节点---子节点
arc1.setAttributeValue("id", "15");
arc1.setAttributeValue("type", "connectedTo");
arc1.setAttributeValue("tooltip", "");
arc1.setAttributeValue("source", "11");
arc1.setAttributeValue("destination", "2");
Element arc2=graph.addElement("arc"); //添加根节点---子节点
arc2.setAttributeValue("id", "15");
arc2.setAttributeValue("type", "connectedTo");
arc2.setAttributeValue("tooltip", "");
arc2.setAttributeValue("source", "11");
arc2.setAttributeValue("destination", "3");
try {
Writer fileWriter=new FileWriter(path+fileName);
XMLWriter xmlWriter=new XMLWriter(fileWriter);
xmlWriter.write(document); //写入文件中
xmlWriter.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
现在可以进行相关测试哒。拜拜了
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。