XML格式文件转化为实体类Bean

步骤一:先把全大写字段转化为驼峰命名

public static void main(String[] args) {

    String param = "";

    param = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Message><VERSION>1.1</VERSION><CP_ID>OLCP0001</CP_ID><PRE_TRUN_NO>1a9c5e4c6af511e9b3446c0b84d71719</PRE_TRUN_NO><CTR_NO>181203015730109283</CTR_NO><PROD_ID>OLPD000077</PROD_ID><LN_NO>0157320181203182000007966</LN_NO><LOAN_NO>0000032735</LOAN_NO></Message>";

    
    String s ="";
    s = camelName(param);
    //s = underscoreName(param);

    System.out.println(s);

}



/**

* 将驼峰式命名的字符串转换为下划线大写方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串。</br>

* 例如:HelloWorld->HELLO_WORLD

* @param name 转换前的驼峰式命名的字符串

* @return 转换后下划线大写方式命名的字符串

*/

public static String underscoreName(String name) {

    StringBuilder result = new StringBuilder();

    if (name != null && name.length() > 0) {

        // 将第一个字符处理成大写

        result.append(name.substring(0, 1).toUpperCase());

        // 循环处理其余字符

        for (int i = 1; i < name.length(); i++) {

            String s = name.substring(i, i + 1);

            // 在大写字母前添加下划线

            if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {

                result.append("_");

            }

            // 其他字符直接转成大写

            result.append(s.toUpperCase());

        }

    }

    return result.toString();

}



/**

* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。</br>

* 例如:HELLO_WORLD->HelloWorld

* @param name 转换前的下划线大写方式命名的字符串

* @return 转换后的驼峰式命名的字符串

*/

public static String camelName(String name) {

    StringBuilder result = new StringBuilder();

    // 快速检查

    if (name == null || name.isEmpty()) {

        // 没必要转换

        return "";

    } else if (!name.contains("_")) {

        // 不含下划线,仅将首字母小写

        return name.substring(0, 1).toLowerCase() + name.substring(1);

    }

    // 用下划线将原始字符串分割

    String camels[] = name.split("_");

    for (String camel :  camels) {

        // 跳过原始字符串中开头、结尾的下换线或双重下划线

        if (camel.isEmpty()) {

            continue;

        }

        // 处理真正的驼峰片段

        if (result.length() == 0) {

            // 第一个驼峰片段,全部字母都小写

            result.append(camel.toLowerCase());

        } else {

            // 其他的驼峰片段,首字母大写

            result.append(camel.substring(0, 1).toUpperCase());

            result.append(camel.substring(1).toLowerCase());

        }

    }

    return result.toString();

}

步骤二:把XML转化为JSON

任意找网上的在线xml转json就能转

{

  "message": {

    "version": "1.1",

    "cpId": "olcp0001",

    "preTrunNo": "1a9c5e4c6af511e9b3446c0b84d71719",

    "ctrNo": "181203015730109283",

    "prodId": "olpd000077",

    "lnNo": "0157320181203182000007966",

    "loanNo": "0000032735"
  }
}

步骤三:使用GsonFormat工具生成实体类Bean

可以参考:https://blog.csdn.net/qq_37690375/article/details/89946226

自定义个javaBean(无任何内容,就一个空的类)

复制你要解析的json

然后alt+insert弹出如下界面 或者使用快捷键 alt+s

粘贴到如下界面:

点击ok,自动生成对应javaBean的代码:

 

20150809_55c7671fc6d6f

作  者: maojw
出  处:https://blog.csdn.net/qq_37690375
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我。 
感谢您的阅读,如果您对我的博客所讲内容有兴趣,请关注我的博客,您的鼓励是作者坚持原创和持续写作的最大动力!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用 OpenFeign 接收 XML 格式的数据,需要进行以下步骤: 1. 添加相关依赖 在项目的 pom.xml 文件中,添加以下依赖: ```xml <dependency> <groupId>com.netflix.feign</groupId> <artifactId>feign-core</artifactId> <version>${feign.version}</version> </dependency> <dependency> <groupId>com.netflix.feign</groupId> <artifactId>feign-jackson</artifactId> <version>${feign.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>${jackson.version}</version> </dependency> ``` 其中,${feign.version} 和 ${jackson.version} 分别表示 Feign 和 Jackson 的版本号。 2. 创建 Feign 接口 创建一个 Feign 接口,并使用 @RequestLine 和 @Headers 注解来指定请求方法和请求头。示例代码如下: ```java import feign.Headers; import feign.RequestLine; @Headers({"Content-Type: application/xml", "Accept: application/xml"}) public interface MyFeignClient { @RequestLine("POST /path/to/api") MyResponse sendXml(MyRequest request); } ``` 其中,MyRequest 和 MyResponse 分别表示请求和响应的实体类。 3. 配置 Feign 在配置类中,添加以下配置: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter; import org.springframework.http.converter.xml.MarshallingHttpMessageConverter; import org.springframework.oxm.jaxb.Jaxb2Marshaller; import org.springframework.web.client.RestTemplate; @Configuration public class MyFeignConfiguration { @Bean public RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new MappingJackson2XmlHttpMessageConverter()); restTemplate.getMessageConverters().add(new MarshallingHttpMessageConverter(jaxb2Marshaller())); return restTemplate; } @Bean public Jaxb2Marshaller jaxb2Marshaller() { Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); marshaller.setPackagesToScan("com.example"); return marshaller; } } ``` 其中,MappingJackson2XmlHttpMessageConverter 和 MarshallingHttpMessageConverter 分别表示 JSONXML换器。 4. 发送请求 在需要发送请求的地方,注入 Feign 接口,并调用方法即可。示例代码如下: ```java @Autowired private MyFeignClient myFeignClient; public void sendXml() { MyRequest request = new MyRequest(); // 设置请求参数 MyResponse response = myFeignClient.sendXml(request); // 处理响应结果 } ``` 其中,MyRequest 和 MyResponse 分别表示请求和响应的实体类
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值