XML和Map集合之间的相互转换

将XML文档转换为Map集合比较简单,方式也比较多,下面这种方式是DOM4J的方式:

Map map=new HashMap();
try {
InputStream is =
new FileInputStream(new File("要读取的XML文档或者是文本"));

SAXReader sax=new SAXReader(); //创建解析器
Document doc=sax.read(is);
//创建对应的Document对象
Element root=doc.getRootElement();
//获取XML文档的根节点对象
List list = root.elements();
//获取根节点下的所有的子节点
for (Element ele : list) {
//遍历根节点下的所有子节点并将其放入MAP对象中
map.put(ele.getName(), ele.getText());
}

is.close();

} catch (Exception e) {
e.printStackTrace();
}

将一个对象转换为对应的XML文档:

public static String textToXml(Object data){
XStream xstream=new XStream(); //创建XStream对象
xstream.alias("xml", data.getClass()); //设置根节点为“xml”
,也可以设置为"root",这个根据需要
String xml = xstream.toXML(data); //将对象转换为xml格式的字符串
return xml;
}

假如对象的属性为:name,age,sex

转换为XML格式的字符串之后为:

西门吹雪

21

不过呢使用上述的这种方式进行转化的时候分别需要DOM4J的jar包和XStream的jar包,这个在网上很好找到对应的资源,可以自己下载。


你可能感兴趣的:(java)