java写入和读取xml

  • 格式:doc
  • 大小:28.50 KB
  • 文档页数:3

//写入xml
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class TestXml
{
private static Logger logger = Logger.getLogger(TestXml.class);
public static void writeXml(List list,String fileName) throws IOException{ //创建一个空的文档对象
Document doc = DocumentHelper.createDocument();
//创建跟元素
Element rootElement = doc.addElement("system");
if(list != null && list.size() > 0){
for(int i=0; i<list.size(); i++){
//跟元素下的树
Element usersElement = rootElement.addElement("user");
//users下两个的元素
Element name = usersElement.addElement("name");
Element value = usersElement.addElement("value");
//获取list中的数据
Map dataMap = (Map) list.get(i);
if(dataMap != null){
String names = (String) dataMap.get("name");
String values = (String) dataMap.get("value");
name.setText(names);
value.setText(values);
}
}
outputXml(doc,fileName);
}
}
private static void outputXml(Document doc,String fileName) throws IOException{ XMLWriter xmlWrite = null;
try
{
//创建一个FileWriter对象,指定目标文件
FileWriter fw = new FileWriter(fileName);
//指定xml文件的输出格式
OutputFormat format = OutputFormat.createPrettyPrint();
//定义编码格式
format.setEncoding("gb2312");
//写出xml文件到操作系统
xmlWrite = new XMLWriter(fw,format);
//写出文档对象
xmlWrite.write(doc);
xmlWrite.close();
}
catch (Exception e)
{
("",e);
}finally{
if(xmlWrite != null){
xmlWrite.close();
}
}
}
//读取xml
import java.io.File;
import java.util.List;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.xun.util.Configuration;
public class ReadXml
{
private static Logger logger = Logger.getLogger(Configuration.class);
public void loadConfig(String fileName){
//xml解析器
SAXReader reader = new SAXReader();
File configFile = new File(fileName);
try
{
Document document = reader.read(configFile);
//根节点
Element rootElement = document.getRootElement();
//根节点下的所有元素
List elementList = rootElement.elements("user");
if(elementList != null && elementList.size() > 0){
for(int i=0;i<elementList.size();i++){
//下一集元素
Element catElement = (Element) elementList.get(i);
//获取元素数据
String catName = catElement.elementText("name");
if(catName == null && catName == ""){
continue;
}
String catValue = catElement.elementText("value");
if(catValue == null && catValue == ""){
continue;
}
System.out.println(catName+"==="+catValue);
}
}
}
catch (DocumentException e)
{
("",e);
}
}。