本文中以dom4j.jar包为例,上一遍文章中写到,xml、map多层的相互转换,我就把该方法的类直接添加到dom4j里面,可以通过dom4j.jar包直接调用到自定义的类的方法,即把自己的方法封装到dom4j里面。
把自定义的方法编译一下,在项目里面的bin里面找到相应的.class文件,然后将dom4j解压一下,如图
然后把刚才的class放入
里面,然后进入到解压的目录下,
通过命令jar -cvf dom4j.jar org打包成jar包,命令jar -cvf 打包生成的名称 打包的目录
最后测试下:
public static void main(String[] args) {
Map<String,Object> result = new HashMap<String,Object>();
result.put("Request", "getData");
Map<String,Object> map = new HashMap<String,Object>();
map.put("data", "2018-01-01");
map.put("name", "jack");
result.put("Data", map);
System.out.println(XmlMap.createXmlByMap(result));
System.out.println(XmlMap.createXmlByMap("Parent", result));
System.out.println(XmlMap.createXmlByMap("Parent", result,true));
System.out.println(XmlMap.createMapByXml(XmlMap.createXmlByMap(result)));
}
输出:
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Request>getData</Request>
<Data>
<data>2018-01-01</data>
<name>jack</name>
</Data>
</Document>
<?xml version="1.0" encoding="UTF-8"?>
<Parent>
<Request>getData</Request>
<Data>
<data>2018-01-01</data>
<name>jack</name>
</Data>
</Parent>
<?xml version="1.0" encoding="UTF-8"?>
<Parent>
<Request><![CDATA[getData]]></Request>
<Data>
<data><![CDATA[2018-01-01]]></data>
<name><![CDATA[jack]]></name>
</Data>
</Parent>
{Document={Request=getData, Data={data=2018-01-01, name=jack}}}