当前位置: 首页 > news >正文

360网站怎么建设营销策划机构

360网站怎么建设,营销策划机构,惠州水口网站建设,电子商务网站建设调研报告目录 pom引用java bean 类XML 转换工具类测试类执行结果注意问题 JAXB方式见: JAXB实现XML和Bean相互转换 Java中实现XML和Bean的转换的方式或插件有以下几种: JAXB(Java Architecture for XML Binding):JAXB是Java …

目录

  • pom引用
  • java bean 类
  • XML 转换工具类
  • 测试类
  • 执行结果
  • 注意问题

JAXB方式见:
JAXB实现XML和Bean相互转换

Java中实现XML和Bean的转换的方式或插件有以下几种:

JAXB(Java Architecture for XML Binding):JAXB是Java SE的一部分,可以将Java对象与XML文档相互转换。它提供了注解和XML绑定文件两种配置方式。

Dom4j:Dom4j是一个开源的Java库,用于操作XML文档。它可以将XML文档转换为Java对象,也可以将Java对象转换为XML文档。

XStream:XStream是一个简单易用的Java库,用于序列化和反序列化对象。它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。

SimpleXML:SimpleXML是一个轻量级的Java库,用于处理XML文档。它可以将XML文档转换为Java对象,也可以将Java对象转换为XML文档。

Jackson:Jackson是一个流行的Java库,用于处理JSON数据。它也支持将Java对象转换为XML文档,以及将XML文档转换为Java对象。

JiBX:JiBX是一个强大的Java库,用于处理XML文档。它可以将Java对象与XML文档相互转换,支持多种映射策略。

Castor:Castor是一个高性能的Java库,用于处理XML文档。它可以将Java对象与XML文档相互转换,支持多种映射策略。

Apache CXF:Apache CXF是一个开源的Web服务框架,提供了许多用于处理XML和SOAP消息的功能。它支持将Java对象与XML文档相互转换。

这里介绍一下 XStream。

pom引用

		<dependency><groupId>com.thoughtworks.xstream</groupId><artifactId>xstream</artifactId><version>1.4.20</version></dependency>

java bean 类

import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.Data;
import lombok.ToString;import java.util.List;@Data
@ToString
@XStreamAlias("person")
public class Person {private String name;private int age;private List<String> hobbies;private List<Person> family;}

XML 转换工具类

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.security.AnyTypePermission;
import lombok.extern.slf4j.Slf4j;@Slf4j
public class XMLUtil {private XMLUtil() {}public static Object convertFromXML(Class<?> clazz, String xml) {XStream xStream = new XStream(new DomDriver());// 避免 com.thoughtworks.xstream.security.ForbiddenClassException异常xStream.addPermission(AnyTypePermission.ANY);// 处理注解xStream.processAnnotations(clazz);// 将XML字符串转为bean对象return xStream.fromXML(xml);}public static String convertToXml(Object obj) {XStream xs = new XStream(new DomDriver());xs.processAnnotations(obj.getClass());return xs.toXML(obj);}
}

测试类

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import will.tools.model.Person;
import will.tools.util.XMLUtil;import java.util.ArrayList;
import java.util.List;@SpringBootTest
public class XMLUtilTests {@Testpublic void test() {Person p2 = getPerson();String xml = XMLUtil.convertToXml(p2);System.out.println("对象转xml");System.out.println(xml);//        String xml =
//
//                "<person>\n" +
//                "  <name>黄蓉</name>\n" +
//                "  <age>18</age>\n" +
//                "  <hobbies>\n" +
//                "    <string>sing</string>\n" +
//                "    <string>dance</string>\n" +
//                "  </hobbies>\n" +
//                "  <family>\n" +
//                "    <person>\n" +
//                "      <name>郭靖</name>\n" +
//                "      <age>20</age>\n" +
//                "      <hobbies>\n" +
//                "        <string>射箭</string>\n" +
//                "        <string>爬山</string>\n" +
//                "      </hobbies>\n" +
//                "    </person>\n" +
//                "  </family>\n" +
//                "</person>";Person p = (Person) XMLUtil.convertFromXML(Person.class, xml);System.out.println("xml转对象");System.out.println(p.toString());}private static Person getPerson() {Person p1 = new Person();p1.setAge(20);p1.setName("郭靖");List<String> lst = new ArrayList<>();lst.add("射箭");lst.add("爬山");p1.setHobbies(lst);Person p2 = new Person();p2.setAge(18);p2.setName("黄蓉");List<String> hobbyList = new ArrayList<>();hobbyList.add("sing");hobbyList.add("dance");p2.setHobbies(hobbyList);List<Person> list = new ArrayList<>();list.add(p1);p2.setFamily(list);return p2;}
}

执行结果

对象转xml
<person><name>黄蓉</name><age>18</age><hobbies><string>sing</string><string>dance</string></hobbies><family><person><name>郭靖</name><age>20</age><hobbies><string>射箭</string><string>爬山</string></hobbies></person></family>
</person>xml转对象Person(name=黄蓉, age=18, hobbies=[sing, dance], family=[Person(name=郭靖, age=20, hobbies=[射箭, 爬山], family=null)])

注意问题

1、xml转bean时报错:com.thoughtworks.xstream.security.ForbiddenClassException: will.tools.model.Person

解决方法:
增加 该属性设置:xStream.addPermission(AnyTypePermission.ANY);
代码中已增加。
2、bean转换xml时,转换为类名
<will.tools.model.Person>


</will.tools.model.Person>

使用别名
在这里插入图片描述

XMLUtil源文件下载 无需积分:

XMLUtil下载

http://www.hrbkazy.com/news/53749.html

相关文章:

  • 建设部门三类人员官方网站赣州是哪个省
  • 南京网站制作seo优化官网
  • 社交网站先做pc站可以吗广州疫情最新数据
  • 网站深度功能怎样注册网站免费注册
  • 最好的网站统计百度商店
  • 织梦网站突然打开很慢互动营销平台
  • 设计得好的美食网站在百度上打广告找谁
  • 如何做百度推广网站以服务营销出名的企业
  • 天津市经营性网站备案宁波网站制作设计
  • 网页设计师必须知道的网站app优化推广
  • 厦门企业网站建设补贴汕头seo建站
  • 海东营销网站建设百度热度指数排行
  • 租车网站建设seo基础知识培训
  • 培训行业网站建设的重要性百度竞价排名广告定价
  • 做电商设计有什么好的网站推荐百度seo排名优化软件分类
  • 做美团网站多少钱网站优化外包找谁
  • 温州 网站建设公司足球比赛直播
  • 网页制作教程appseo优化怎么做
  • logo设计网站参考今日新闻国际头条新闻
  • 网站上放的动画视频是怎么做的新闻发布稿
  • ppt做的好的有哪些网站有哪些创建自己的网址
  • 盐城网站建设小程序公司免费域名解析平台
  • 网站设计素材搜索引擎排行榜
  • 做网站市场价格多少钱软文案例大全
  • 政府网站是否纳入县级融媒体建设现在百度怎么优化排名
  • 添加数据库wordpress昆明seo建站
  • 网站游戏下载网络推广员为什么做不长
  • wordpress 主题 google字体怎样进行seo
  • 四川建设数字证书网站在哪里可以找到网站
  • 江苏工程建设信息官方网站搜索引擎技巧