第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 apache Camel 而不是 xml 記錄列表將平面文件中的單個記錄轉(zhuǎn)換為一個 xml

如何使用 apache Camel 而不是 xml 記錄列表將平面文件中的單個記錄轉(zhuǎn)換為一個 xml

Smart貓小萌 2023-09-20 15:24:15
CamelConfig.java@Componentpublic class CamelConfig extends RouteBuilder {    @Override    public void configure() throws Exception {        try {            CamelContext context = new DefaultCamelContext();            ConverterRoute route = new ConverterRoute();            route.addRoutesToCamelContext(context);            context.start();            Thread.sleep(5000);            context.stop();        } catch (Exception exe) {            exe.printStackTrace();        }    }}ConverterRoute.javapublic class ConverterRoute implements RoutesBuilder {    private static final String SOURCE_INPUT_PATH = "file://inbox?fileName=Source.txt";    private static final String SOURCE_OUTPUT_PATH = "file://outbox?fileName=file.xml";    public void addRoutesToCamelContext(CamelContext context) throws Exception {        context.addRoutes(new RouteBuilder() {            public void configure() {                try {                    DataFormat bindyFixed = new BindyCsvDataFormat(Test.class);                    from(SOURCE_INPUT_PATH).                            unmarshal(bindyFixed).                            marshal().                            xstream().                            to(SOURCE_OUTPUT_PATH).log("Finished Transformation").end();                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }來源.txt55158|11901|234655158|11101|3454Test.java@CsvRecord(separator = "\\|",skipField = true,name = "Test")public class Test {    @DataField(pos = 1,name = "ALT_NUM")    private BigDecimal ALT_NUM;    @DataField(pos = 2,name = "PRTNUM")    private BigDecimal PRTNUM;    @DataField(pos = 3,name = "UOMCOD")    private Integer UOMCOD;}我能夠生成包含單個文件中所有字段的 xml 文件。我想要單個 xml 文件中的單個記錄。任何人都可以幫助我。輸出文件根元素中的標簽名稱也生成類的包名稱。
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

您可能可以用來split()單獨處理 csv 記錄中的每一行。

from(SOURCE_INPUT_PATH).
 .split().tokenize(System.lineSeparator())
   unmarshal(bindyFixed).
   marshal().
   xstream().
   to(SOURCE_OUTPUT_PATH).log("Finished Transformation").end();


查看完整回答
反對 回復(fù) 2023-09-20
  • 1 回答
  • 0 關(guān)注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號