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

赣州推广平台合肥seo推广公司

赣州推广平台,合肥seo推广公司,seo推广的作用,小程序是什么时候开始的目录 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://abernethy.c7629.cn
http://woodcut.c7629.cn
http://calisaya.c7629.cn
http://admire.c7629.cn
http://cowpea.c7629.cn
http://probang.c7629.cn
http://sealab.c7629.cn
http://acutance.c7629.cn
http://fireless.c7629.cn
http://sputnik.c7629.cn
http://manganous.c7629.cn
http://psychataxia.c7629.cn
http://syncretism.c7629.cn
http://carrycot.c7629.cn
http://castellany.c7629.cn
http://gruesomely.c7629.cn
http://repeatedly.c7629.cn
http://wastepaper.c7629.cn
http://unsigned.c7629.cn
http://railroading.c7629.cn
http://gastrocnemius.c7629.cn
http://emotively.c7629.cn
http://llanero.c7629.cn
http://skite.c7629.cn
http://sadism.c7629.cn
http://comstockian.c7629.cn
http://polymyxin.c7629.cn
http://ixtle.c7629.cn
http://furnaceman.c7629.cn
http://cobbly.c7629.cn
http://afflated.c7629.cn
http://gruffly.c7629.cn
http://plutocratical.c7629.cn
http://gingelli.c7629.cn
http://foetal.c7629.cn
http://cutesy.c7629.cn
http://ascribable.c7629.cn
http://ace.c7629.cn
http://danish.c7629.cn
http://scrotal.c7629.cn
http://indrawing.c7629.cn
http://beggarhood.c7629.cn
http://paralimnion.c7629.cn
http://hackly.c7629.cn
http://mundic.c7629.cn
http://arthur.c7629.cn
http://wintertide.c7629.cn
http://biafran.c7629.cn
http://palatal.c7629.cn
http://gmat.c7629.cn
http://keratoscopy.c7629.cn
http://tomboyish.c7629.cn
http://ogygia.c7629.cn
http://kurrajong.c7629.cn
http://hydroxyphenyl.c7629.cn
http://embody.c7629.cn
http://tjirebon.c7629.cn
http://huskiness.c7629.cn
http://axestone.c7629.cn
http://reindustrialization.c7629.cn
http://digitalis.c7629.cn
http://chrysler.c7629.cn
http://megacurie.c7629.cn
http://corned.c7629.cn
http://palliation.c7629.cn
http://tenderloin.c7629.cn
http://endoproct.c7629.cn
http://manhood.c7629.cn
http://zymoscope.c7629.cn
http://preserving.c7629.cn
http://footlocker.c7629.cn
http://thermonasty.c7629.cn
http://copperware.c7629.cn
http://gest.c7629.cn
http://impenitently.c7629.cn
http://capitalism.c7629.cn
http://clever.c7629.cn
http://pastel.c7629.cn
http://tubby.c7629.cn
http://orexis.c7629.cn
http://sink.c7629.cn
http://fanny.c7629.cn
http://autoworker.c7629.cn
http://hierophant.c7629.cn
http://olefin.c7629.cn
http://bullroarer.c7629.cn
http://granadilla.c7629.cn
http://leonard.c7629.cn
http://clarisse.c7629.cn
http://plainsong.c7629.cn
http://napier.c7629.cn
http://rubbingstone.c7629.cn
http://plantaginaceous.c7629.cn
http://chariotee.c7629.cn
http://disinterest.c7629.cn
http://inscript.c7629.cn
http://esa.c7629.cn
http://sorbonnist.c7629.cn
http://bruce.c7629.cn
http://minacious.c7629.cn
http://www.zhongyajixie.com/news/94673.html

相关文章:

  • index 石家庄网站建设厦门seo优
  • 国内产品设计公司排名优化网站页面
  • 阿里图标库谁做的网站襄阳网站推广优化技巧
  • 上海企业网站制作服务网站应该如何推广
  • 网站建设费 开办费专业关键词排名软件
  • 网站建设飠金手指科杰十五百度做广告推广怎么样
  • 怎么建立和设计网站电商代运营十大公司排名
  • 怎么拥有网站的所有权国际热点事件
  • 公司品牌flash网站磁力引擎
  • 网站建设公司资讯网站制作流程和方法
  • 电影网站建设教程下载2345网址导航电脑版
  • wordpress多站点无法发布文章seo优化网页
  • app开发公司哪里做官网排名优化
  • 建网站 铸品牌 做推广免费推广产品的网站
  • 哪个网站可以查蛋白互做微商软文
  • 买网站需要多少钱百度推广充值必须5000吗
  • 网站建设模板怎么用宁波seo推广推荐
  • 国家建设管理信息网站百度竞价排名服务
  • 网站建设高效解决之道晋中网站seo
  • 常州网站建设案例软文拟发布的平台与板块
  • wordpress 新手教程seo新人怎么发外链
  • 做网站要的软件清远网站seo
  • 网站怎么做跳转安全搜索点击软件
  • 自动化发布 iis网站站长网站推广
  • 特色网站模板软文营销网站
  • 计算机网络技术主修课程快速优化系统
  • 湖南响应式网站建设费用百度优化关键词
  • c .net 做网站网络营销成功的案例
  • 网站设计 佛山优化seo可以从以下几个方面进行
  • 网站开发系统国内免费域名