package com.ruoyi.common.h1wUtils.xml;
?
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.uuid.UUID;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;
import lombok.Data;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
?
import java.io.File;
import java.util.ArrayList;
import java.util.List;
?
/**
* @Author lian-chen
* @Date 2021/7/19 14:01
*/
public class XmlUtils {
private static final Logger log = LoggerFactory.getLogger(XmlUtils.class);
/**解决解析下划线时出现双下划线*/
public static final XStream XSTREAM = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("-_", "_")));
?
/**
* 将obj转换成xml的字符串
*
* @param obj
* @return str
*/
public static String beanToXmlStr(Object obj) {
XSTREAM.processAnnotations(obj.getClass());
String xml = XSTREAM.toXML(obj);
return xml;
}
?
/**
* 将xml类型的字符串转换成cls类型的对象
*
* @param xmlStr
* @param cls
* @return cls类型的对象
*/
public static <T> T xmlStrToBean(String xmlStr, Class<T> cls) {
try {
XStream xstream = new XStream(new DomDriver());
xstream.processAnnotations(cls);