0
Apache CamelでXMLを解析する際に問題があります。私はすべての必要な注釈を追加し、次に複数のルート要素にいくつかの問題があり、Listを使って新しいクラスを作成しました。Apache CamelでXMLを解析しています(nullの場合)
カスタマー
@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がありますか?あなたはどんなバージョンのCamelを使っていますか?そして、あなたは何が問題であるかをよく説明できますか?少し不明です –
複数の根本的な問題は何を意味しますか? –