介绍
新手程序员一枚,渴望成为大神,来点关注来点赞,给我介绍几个大神也行,球球了。
主要记录自己的学习过程,将之前的笔记进行整理并分享一下,有错误请指出,谢谢各位大佬爷们的观看。
下面开始分享我的笔记
概述
规范
案例
需求
-
加载并解析emp.xml文件中的数据,完成数据处理,并在页面中展示。
步骤
-
在pom.xml文件中引入dom4j的依赖,用于解析XML文件。
-
引入资料中提供的解析XML的工具类XMLParserUtils、对应的实体类EMP、XML文件emp.xml。
-
引入资料中提供的静态页面文件,放在resources下的static目录下
-
编写Controller程序,处理请求,响应数据。
实现
-
Maven
-
<!-- 解析XML--> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.3</version> </dependency>
-
工具类utils
-
package com.testpeople.utils; //功能:解析XML文件 import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import java.io.File; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.List; public class XmlParserUtils { public static <T> List<T> parse(String file, Class<T> targetClass) { ArrayList<T> list = new ArrayList<T>(); try { //1.获取一个解析器对象 SAXReader saxReader = new SAXReader(); //2.利用解析器把xml文件加载到内存中,并返回一个文档对象 Document document = saxReader.read(new File(file)); //3.获取到根标签 Element rootElement = document.getRootElement(); //4.通过根标签来获取 user 标签 List<Element> elements = rootElement.elements("emp"); //5.遍历集合,得到每一个 user 标签 for (Element element : elements) { //获取 name 属性 String name = element.element("name").getText(); //获取 age 属性 String age = element.element("age").getText(); //获取 image 属性 String image = element.element("image").getText(); //获取 gender 属性 String gender = element.element("gender").getText(); //获取 job 属性 String job = element.element("job").getText(); //组装数据 Constructor<T> constructor = targetClass.getDeclaredConstructor(String.class, Integer.class, String.class, String.class, String.class); constructor.setAccessible(true); T object = constructor.newInstance(name, Integer.parseInt(age), image, gender, job); list.add(object); } } catch (Exception ex) { ex.printStackTrace(); } return list; } }
-
前端页面
编写
package com.testpeople.controller;
//响应数据类
import com.testpeople.pojo.Emp;
import com.testpeople.pojo.Result;
import com.testpeople.utils.XmlParserUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class EmpController {
@RequestMapping("/listEmp")
public Result list(){
//加载并解析XML文件
String filePath = this.getClass().getClassLoader().getResource("emp.xml").getFile();
System.out.println(filePath);
List<Emp> empList = XmlParserUtils.parse(filePath, Emp.class);
//对数据进行处理
empList.stream().forEach(emp ->{
//处理gender~男:1 女:2
String gender = emp.getGender();
if ("1".equals(gender)){
emp.setGender("男");
} else if ("2".equals(gender)) {
emp.setGender("女");
}
//处理job~讲师:1 班主任:2 就业指导:3
String job = emp.getJob();
if ("1".equals(job)){
emp.setJob("讲师");
} else if ("2".equals(job)) {
emp.setJob("班主任");
} else if ("3".equals(job)) {
emp.setJob("就业指导");
}
});
//响应数据
return Result.success(empList);
}
}
测试
-
postman
展示
以上是学习的第八弹笔记,也是后端开始的第四弹笔记,感兴趣的关注一手,后面会慢慢更新笔记。
项目位置!!!!!
https://gitee.com/zsjnew/admin_web_project.git
马上公司组织爬山了,记得关注哦,感谢各位老爷们!!!