编程语言
首页 > 编程语言> > JAVA返回soap协议的xml

JAVA返回soap协议的xml

作者:互联网

思路一:节点比较少的时候可以直接使用字符串拼接的方式

思路二:把文本转对象,再把对象转xml

1.把文本转对象

文本转对象(上一篇文章)

2.改造对象

属性的使用 @XmlAttribute

节点的使用@XmlElement

增加get,set ,有参无参构造方法

@XmlAccessorType

类级别的注解。定义这个类中的何种类型需要映射到XML。解释起来有点拗口,可以通过它的属性值更好理解这个参数的意义。

参数 value

参数 value 可以接受4个指定值,这几个值是枚举类型,方便调用:

3.解析对象

import lombok.extern.slf4j.Slf4j;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import java.io.ByteArrayOutputStream;  

public static String AvaFailXml(EnvelopeDTO envelopeDTO) {

    try {
      // 获取上下文对象
      JAXBContext context = JAXBContext.newInstance(EnvelopeDTO.class);
      // 根据上下文获取marshaller对象
      Marshaller marshaller = context.createMarshaller();
      // 设置编码字符集
      marshaller.setProperty(Marshaller.JAXB_ENCODING, "GBK");
      ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
      marshaller.marshal(envelopeDTO, byteArrayOutputStream);
      // 生成XML字符串
      return new String(byteArrayOutputStream.toByteArray());
    } catch (Exception e) {
      log.error("XML:解析异常-----" + e.getMessage(), e);
    }
    return "";
  }

标签:xml,XML,JAVA,映射,marshaller,import,soap,类中
来源: https://blog.csdn.net/wang0112233/article/details/121161097