1、引入Maven依賴
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.18</version>
</dependency>
2、測試代碼
2.1 基礎類
package com.MyModel;
public class MyBeanXStreamXml {
private String name;
private String id;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
2.2 測試代碼
package com.TestArch;
import com.MyModel.MyBeanXStreamXml;
import com.alibaba.fastjson.JSON;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.security.AnyTypePermission;
import lombok.SneakyThrows;
public class TestXMLByXStream {
@SneakyThrows
public static void main(String args[]) {
MyBeanXStreamXml myBeanXml = new MyBeanXStreamXml();
myBeanXml.setAge("28");
myBeanXml.setId("01");
myBeanXml.setName("PHC");
// 對象轉 XML System.out.println("----------對象轉 XML-------------------");
XStream xStream = new XStream();
String xml = xStream.toXML(myBeanXml);
System.out.println(xml);
System.out.println("----------對象轉 XML:修改根節點標識-------------------");
xStream.alias("ROOT", MyBeanXStreamXml.class); // 修改根節點標識
String xml2 = xStream.toXML(myBeanXml);
System.out.println(xml2);
System.out.println("----------XML 字符串轉對象-------------------");
XStream xStreamForStr = new XStream();
xStreamForStr.addPermission(AnyTypePermission.ANY); //沒有這行會報錯:com.thoughtworks.xstream.security.ForbiddenClassException
MyBeanXStreamXml person2 = (MyBeanXStreamXml) xStreamForStr.fromXML(xml);
System.out.println("" + JSON.toJSONString(person2));
}
}
3、測試代碼輸出
4、GitHub代碼提交記錄:
1、XML和對象的相關轉換(XStream方式); · NullTommy/hello@537337d
5、參考
[參考: xstream異常com.thoughtworks.xstream.security.ForbiddenClassException_夜空中最亮的開心顏7的博客-CSDN博客 https://blog.csdn.net/weixin_42228939/article/details/95890201 ]
[參考: XStream使用詳解 - 技術江湖-小煥 - 博客園 https://www.cnblogs.com/LiZhiW/p/4313493.html ]
[參考: XStream的簡單使用_小異常的博客-CSDN博客 https://blog.csdn.net/sun8112133/article/details/90482307 ]