将XML文档转换为Map集合比较简单,方式也比较多,下面这种方式是DOM4J的方式:
Map<String, String> map=new HashMap<String,String>();
try {
InputStream is = new FileInputStream(new File("要读取的XML文档或者是文本"));
SAXReader sax=new SAXReader(); //创建解析器
Document doc=sax.read(is); //创建对应的Document对象
Element root=doc.getRootElement(); //获取XML文档的根节点对象
List<Element> 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格式的字符串之后为:
<xml>
<name>西门吹雪</name>
<age>21</age>
<sex>男</sex>
</xml>
不过呢使用上述的这种方式进行转化的时候分别需要DOM4J的jar包和XStream的jar包,这个在网上很好找到对应的资源,可以自己下载。