利用dom4j生成带dom的xml文件
来源:互联网 发布:css是什么软件 编辑:程序博客网 时间:2024/05/22 11:38
直接利用dom4j生成的xml是不带dom头的,但需要应用中需要带dom头的xml文件,比如fusionchart在加载xml数据文件时 ,要求数据文件为带dom头的xml,下面代码示例如何生成带dom头的xml。
public static Document createDom(Map<String,List> data){
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("graph");
root.addAttribute("caption", "xxx");
// root.addAttribute("decimalPrecision", "xxx");
// root.addAttribute("rotateNames", "xxx");
int colorIndex = 0;
for(Map.Entry<String,List> entry:data.entrySet()){
Element set = root.addElement("set");
set.addAttribute("name", entry.getKey());
set.addAttribute("value",(String)(entry.getValue()).get(0));
set.addAttribute("color", ColorUtil.colorList[colorIndex++]);
}
return doc;
}
public static void writeXmlWithBom(String parentPath,Document doc,String fileName){
try {
String filePath = parentPath+File.separator+fileName+".xml";
String tempFileName = parentPath+File.separator+"temp.xml";
File tempFile = new File(tempFileName);
if(tempFile.exists()){
tempFile.delete();
}
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter(new FileOutputStream(tempFileName), format);
writer.write(doc);
writer.close();
FileOutputStream fops = new FileOutputStream(fileName);
//首先添加三个bom头字节
fops.write(new byte[]{(byte)0xEF, (byte)0xBB, (byte)0xBF});
FileWriter fileWriter = new FileWriter(fileName, true);
//使用自己流进行读文件,可以防止中文乱码
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(tempFileName)));
String data ="";
while((data = br.readLine())!=null){
fileWriter.write(data);
fileWriter.write("\r\n");
}
fops.close();
br.close();
fileWriter.close();
tempFile.delete();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
需要注意字节流和字符流的使用,防止出现中文乱码
- 利用dom4j生成带dom的xml文件
- 利用dom4j生成带dom的xml文件
- 生成XML文件(DOM,DOM4J)
- 利用dom4j来生成xml文件
- 如何利用dom4j生成XML文件!
- 利用dom4j来生成xml文件
- 利用dom4j来生成xml文件
- 生成带中文的xml文件(dom解析)
- 利用dom4j生成XML
- 利用DOM方式生成XML文件
- dom4j生成xml文件
- dom4j生成xml文件
- dom4j生成xml文件
- dom4j 生成xml文件
- dom4j 生成xml文件
- dom4j生成xml文件
- DOM4J生成xml文件
- Dom4j生成xml文件
- Java Ant build.xml详解
- dba_extents和dba_segments不一致问题及原因
- OpenCV2 && Qt4 chapter5: 图像过滤初学
- 如何指定tomcat的JDK -转
- JS往textarea的光标所在处添加文字+将光标移动到文字末尾
- 利用dom4j生成带dom的xml文件
- 查看存储过程文本中是否包含有该字符串--SQL脚本
- 苦逼的IT,什么时候是个头
- buffer(缓冲区模式)
- url encode decode
- 引用外部jar包,程序出错的解决方法
- 堆栈
- XML基础入门
- base 64编码