一、DOM4J解析xml
案例1:解析如下xml
<?xml version="1.0" encoding="UTF-8"?>
<employee>
<name>张三</name>
<sex>男</sex>
<age>20</age>
</employee>
代码如下:
File file = new File("d:/test/**.xml");
// 创建流
SAXReader reader = new SAXReader();
// 读取XML
Document document = reader.read(file);
// 获取根节点
Element rootEle = document.getRootElement();
System.out.println("根节点:" + rootEle.getName());
// 获取根节点下的
String name = rootEle.elementTextTrim("name");
String sex = rootEle.elementTextTrim("sex");
String age = rootEle.elementTextTrim("age");
System.out.println("name:" + name + " sex:" + sex + " age:" + age);
案例2:解析如下xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="001">
<name>鬼吹灯</name>
<author>天下霸唱</author>
</book>
<book id="002">
<name>盗墓笔记</name>
<author>南派三叔</author>
</book>
</books>
代码:
File file = new File("d:/**/book.xml");
// 创建流
SAXReader reader = new SAXReader();
// 读取XML
Document document = reader.read(file);
// 获取根节点
Element rootEle = document.getRootElement();
System.out.println("根节点:" + rootEle.getName());
// 获取根节点下的子节点book
Iterator book = rootEle.elementIterator("book");
// 遍历book节点
while (book.hasNext()) {
Element bookEle = (Element) book.next();
// 获取book节点上的id
String id = bookEle.attributeValue("id");
// 获取book节点下的name
String name = bookEle.elementTextTrim("name");
// 获取book节点下的author
String author = bookEle.elementTextTrim("author");
System.out.println("id:" + id + " name:" + name + " author:"
+ author);
}
二、解析json
案例一:list、map集合转json
// list集合转换为json
List list = new ArrayList();
list.add("aaaa");
list.add("bbbb");
JSONArray arrlist = JSONArray.fromObject(list);
System.out.println(arrlist);
// map集合转换为json
Map<String, String> map = new HashMap<String, String>();
map.put("name", "张三");
map.put("age", "22");
map.put("sex", "男");
map.put("address", "上海");
JSONArray arrmap = JSONArray.fromObject(map);
System.out.println(arrmap);
案例二:json数据转Javabean
String jsonStr = "[{\"age\": 25,\"sex\": \"female\",\"grades\": \"三班\",\"name\": \"张三\"},{\"age\": 26,\"sex\": \"male\",\"grades\": \"三班\",\"name\": \"李四\"}]";
JSONArray json = JSONArray.fromObject(jsonStr);
List<Students> stlist = new ArrayList<Students>();
stlist = (List<Students>) JSONArray.toCollection(json, Students.class);
for (Students s : stlist) {
System.out.println(s.getName());
}
public class Students {
private String age;
private String sex;
private String name;
private String grades;
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGrades() {
return grades;
}
public void setGrades(String grades) {
this.grades = grades;
}
@Override
public String toString() {
return "Students [age=" + age + ", sex=" + sex + ", name=" + name
+ ", grades=" + grades + "]";
}
}
后续还会补充