【问题标题】:parsing XML with Apache Camel (printing null)使用 Apache Camel 解析 XML(打印 null)
【发布时间】:2017-09-19 08:12:21
【问题描述】:

我在使用 Apache Camel 解析 XML 时遇到问题。我添加了所有必要的注释,接下来我遇到了多个根元素的一些问题,然后我用 List 创建了新类。现在我在下面显示我的代码:

客户

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public @Data class Customer {

private int id;
private String name;
private String address;
private String countryCode;

@XmlElementWrapper(name="products")
@XmlElement(name="product")
private List<Product> products;
}

产品

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public @Data class Product {

    private int productId;
    private String productName;
}

客户(由于多根问题而创建的类)

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public @Data class Customers {

@XmlElementWrapper
@XmlElement(name = "customer")
private List<Customer> customers;

@Override
public String toString() {
    return "Customers{" +
            "customers=" + customers +
            '}';
    }
}

MyRouteBuilder

public class MyRouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("file:/home/tkaczmarek/usr/data/inbox?noop=true")
                .bean(XmlToBean.class);
    }
}

XmlToBean

public class XmlToBean {
    public void transformXmlObject(Customers customers) {
        System.out.println(customers);
    }
}

xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<customers>
<customer>
   <id>1</id>
   <name>Tomasz Kaczmarek</name>
   <address>Łódź, ul. Błotna 5/32</address>
   <countryCode>1221</countryCode>
   <products>
      <product>
         <productId>1</productId>
         <productName>Bread</productName>
      </product>
      <product>
         <productId>2</productId>
         <productName>Meat</productName>
      </product>
   </products>
</customer>
</customers>

当前输出

Customers{customers=null}

如何使我的代码正常工作?我不知道哪里出了问题。

【问题讨论】:

  • 类路径中有camel-jaxb吗?你用什么版本的骆驼?你能更好地解释一下是什么问题吗,有点不清楚
  • 多根问题是什么意思?

标签: java xml apache spring-boot apache-camel


【解决方案1】:

问题已解决,我从客户和客户中删除了 XmlWrapper,现在它可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多