微信支付中:Bean转xml,使用RestTemplate发送xml

Java解析XML(4种方法)

public static void main(String[] args) throws Exception {
            //1.创建Reader对象
            String s="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <MtMessageRes> <resDetail> <phoneNumber>15001710000</phoneNumber> <stat>r:000</stat> <statDes>提交成功</statDes> </resDetail> <resDetail> <phoneNumber>15001710008</phoneNumber> <stat>r:000</stat> <statDes>提交成功</statDes> </resDetail> <resDetail> <phoneNumber>15001710009</phoneNumber> <stat>r:000</stat> <statDes>提交成功</statDes> </resDetail> <smsId>4acadda1-5806-4492-9a82-b7ab3f1c8ec0</smsId> <subStat>r:000</subStat> <subStatDes>处理成功</subStatDes> </MtMessageRes>";
            SAXReader reader = new SAXReader();
            //2.加载xml
            Document document = reader.read(new ByteArrayInputStream(s
                .getBytes("UTF-8")));
            Element rootElement = document.getRootElement();
            Iterator iterator = rootElement.elementIterator();
            List<Map<String,String>> list=new ArrayList<>();
            while (iterator.hasNext()){
                Element stu = (Element) iterator.next();
                List<Attribute> attributes = stu.attributes();
                System.out.println("======获取属性值======");
                for (Attribute attribute : attributes) {
                    System.out.println(attribute.getValue());
                }
                Iterator iterator1 = stu.elementIterator();
                while (iterator1.hasNext()){
                    Element stuChild = (Element) iterator1.next();
                    Map<String,String> map=new HashMap();
                    map.put(stuChild.getName(),stuChild.getStringValue());
                    list.add(map);
                }
            }
            System.out.println(list);

        }

pom文件

         <dependency>
            <groupId>org.simpleframework</groupId>
            <artifactId>simple-xml</artifactId>
            <version>2.7.1</version>
        </dependency>

实体类

package cn.chaohi.payment.module.pay.controller;

import lombok.Data;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

/**
 * @author Mr.sunql
 * @description
 * @date Created in15:19 2021/2/4 0004
 */
@Root(
        name = "user",
        strict = false
)
@Data
public class User {

    @Element(
            name = "appid"
    )
    private String id;

    @Element(
            name = "appname"
    )
    private String name;

    @Element(
            name = "sex"
    )
    private String sex;
}
 public static void main(String[] args) {
        User user=new User();
        user.setId("111");
        user.setName("张三");
        user.setSex("女");
        String user1=  XmlUtil.toString(user);
        System.out.println(user1);
    }
<user>
   <appid>111</appid>
   <appname>张三</appname>
   <sex></sex>
</user>

使用RestTemplate发送xml数据

RestTemplate restTemplate=new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_XML);
StringBuffer xmlString = new StringBuffer();
HttpEntity<String> formEntity = new HttpEntity(xmlString.toString(), headers);
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, formEntity, String.class);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵豸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值