
dom4j和fastjson基本使用
发布日期:2022-02-25 01:17:44
浏览次数:14
分类:技术文章
本文共 4450 字,大约阅读时间需要 14 分钟。
pom.xml
org.projectlombok
lombok
1.16.18
dom4j
dom4j
1.6.1
junit
junit
4.12
com.alibaba
fastjson
1.2.47
log4j
log4j
1.2.17
Dom4jUtil
public class Dom4jUtil {
/**
* 根据XML文件路径获取Document对象
* @param pathUrl XML文件路径
* @return document
*/
public static Document getDocument(String pathUrl){
//创建SAXReader对象
SAXReader reader = new SAXReader();
Document document = null;
try {
//读取XML文件并返回document对象
document = reader.read(pathUrl);
} catch (DocumentException e) {
e.printStackTrace();
}
return document;
}
/**
* 展示文档内容
* @param document 文档对象
*/
public static void showElements(Document document){
//获取文档的根节点
Element rootElement = document.getRootElement();
//获取根节点下的子节点(迭代器的方式)
Iteratorit = rootElement.elementIterator();
//迭代器迭代
while (it.hasNext()){
//获取子节点
Element element = it.next();
//element.getName()获得当前元素的标签名
String name = element.getName();
System.out.println("当前元素的标签名:"+name);
//获取子节点的属性上的值并打印
//String id = element.attribute("id").getValue();
String id = element.attributeValue("id");
System.out.println(id);
//获取根节点下的子节点(集合的方式)
/*
* element.elements("标签名")
* 获得element元素下的所有标签名与方法参数一样的元素
* */
ListchildElement = element.elements();
for (Element e : childElement) {
//只有最底层的元素getText()才会有值
//获得当前元素中包含的值
//例如 aaa aaa就是我们获得的值
System.out.println(e.getText());
}
System.out.println("----------------------------");
}
}
/**
* 根据文档对象创建XML文件
* @param document 文档对象
* @throws IOException
*/
public static void createXMLByDocument(Document document) throws IOException {
//创建文件
String filePath = "d:\\studentInfo.xml";
File file = new File(filePath);
if (!file.isFile()){
file.createNewFile();
}
//创建输出流对象
FileOutputStream fos = new FileOutputStream(file);
//获得格式化对象
OutputFormat outputFormat = OutputFormat.createPrettyPrint();
//参数: 输出流,格式化对象
XMLWriter writer = new XMLWriter(fos,outputFormat);
//写出文件
writer.write(document);
/*
* 多个流关闭流程
* 向上依次关闭
* */
writer.close();
fos.close();
}}
JsonConvert
public class JsonConvert {
/**
* 将json字符串转换为对象
* @param jsonStr json字符串
* @param t
* @param
转化成的对象类型
* @return 返回值类型
*/
public staticT jsonToObject(String jsonStr, Class t) {
return JSON.parseObject(jsonStr, t);
}
/**
* 将对象转换为字符串
*
* @param o
* @return
*/
public static String objectToString(Object o) {
return JSON.toJSONString(o);
}}
Dom4jTest.class
public class Dom4jTest {
@Test
public void getDocument(){
String pathUrl = "src\\main\\resources\\doc\\student.xml";
Document document = Dom4jUtil.getDocument(pathUrl);
System.out.println(document);
Dom4jUtil.showElements(document);
}
@Test
public void createXMLByDocument() throws IOException {
//创建新的文档对象
Document document = DocumentHelper.createDocument();
//添加根节点(元素)
/*
* 注意: 不是最底层元素不要设置 .addText()
* */
Element rootElement = document.addElement("class");
rootElement.addElement("student").addAttribute("id","001")
.addAttribute("classNo","Java1902").addText("James Strachan");
rootElement.addElement("student").addAttribute("id","002")
.addAttribute("classNo","Java1902").addText("James Strachan");
Dom4jUtil.createXMLByDocument(document);
}}
FastJsonTest.class
public class FastJsonTest {
@Test
public void jsonToObject(){
//拼接json字符串
String jsonStr = "{\"userId\":" + "\"1\"," +
"\"userName\":" + "\"坤坤\"," +
"\"age\":" + "\"22\"}";
Object o = JsonConvert.jsonToObject(jsonStr, User.class);
System.out.println(o);
}
@Test
public void objectToJson(){
User user = new User();
user.setUserId(1);
user.setUsername("阳阳");
user.setAge(22);
String s = JsonConvert.objectToString(user);
System.out.println(s);
}}
转载地址:https://blog.csdn.net/qq_37746647/article/details/100123806 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2023年01月14日 20时59分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
shell脚本中的$*、$@、$#的区别
2019-06-28 13:57:22
【数论】——逆元
2019-06-28 13:57:21
dyld方式遍历模块源码讲解
2019-06-28 13:57:21
问题:Cannot find /usr/local/tomcat7/bin/setclasspath.sh
2019-06-28 13:57:21
Qemu&KVM 第一篇 (1)使用qemu-system-x86_64 创建虚拟机
2019-06-28 13:57:20
我的友情链接
2019-06-28 13:57:20
DNS 设置可在这个时间之后进行区域清理
2019-06-28 13:57:20
C语言之常量变量
2019-06-28 13:57:19
new 和 alloc init的区别
2019-06-28 13:57:19
如何连接android数据库
2019-06-28 13:57:18
Ubuntu下安装FlashPlayer
2019-06-28 13:57:18
Corosync + Pacemaker 搭建高可用MariaDB服务
2019-06-28 13:57:17
8086CPU寄存器简介
2019-06-28 13:57:17
javaSE-基础篇-如何获得中文英文混合字符串的字节长度
2019-06-28 13:57:17
DNS查询
2019-06-28 13:57:17
reverse mapping checking getaddrinfo for bogon failed – POSSIBLE BREAK-IN ATTEMPT! 错误
2019-06-28 13:57:16
15.SpringMVC核心技术-数据验证
2019-06-28 13:57:16
应答文件的安装过程
2019-06-28 13:57:15
学会批处理,用心学很容易
2019-06-28 13:57:15
iOS 网络优化--页面返回的时候取消网络请求
2019-06-28 13:57:15