Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在复杂xml的Spring批处理中使用StatxeventitemReader_Java_Spring_Jaxb_Spring Batch_Xmlreader - Fatal编程技术网

Java 如何在复杂xml的Spring批处理中使用StatxeventitemReader

Java 如何在复杂xml的Spring批处理中使用StatxeventitemReader,java,spring,jaxb,spring-batch,xmlreader,Java,Spring,Jaxb,Spring Batch,Xmlreader,请帮我写一下ItemReader() 05/28/2016 75 1. A2334549 89890734548557 01 XXXXX B F 纳兹 阿福 H 04/02/1990 45673739A 894567893 09678546 N 家 英迪拉纳加尔路2226号 诺伊达 德里 525001 印度 邮寄 英迪拉纳加尔路2226号 诺伊达 德里 525001 印度 40 67894 玉8883 009 104 000987666 B004 0004 789034 ******* 09/

请帮我写一下ItemReader()


05/28/2016
75
1.
A2334549
89890734548557
01
XXXXX
B
F
纳兹
阿福
H
04/02/1990
45673739A
894567893
09678546
N
家
英迪拉纳加尔路2226号
诺伊达
德里
525001
印度
邮寄
英迪拉纳加尔路2226号
诺伊达
德里
525001
印度
40
67894
玉8883
009
104
000987666
B004
0004
789034
*******
09/01/2016/01/2016
12/31/2016
100
1.
08/11/2016
02/01/2008
02/01/2008
08/16/2016
s
08/01/2016
D
-------
------
-------
我有jaxb为文件、事务、成员详细信息、成员数据、地址、代理信息、包、PartD、LICSInfo、MedihealthData、PartA、PartB、ESignDate、EnrollmentDate、BillingData生成的类

现在,在下面的ItemReader方法中,我应该使用什么样的类名来代替“?”。请帮帮我

    public ItemReader<?> fileXmlReader(@Value("#{stepExecution}") StepExecution stepExecution) {

            StaxEventItemReader<?> xmlFileReader = new StaxEventItemReader<>();

            xmlFileReader.setResource(new ClassPathResource("/File.xml"));

            xmlFileReader.setFragmentRootElementNames( new String[] {?}); (or )
            xmlFileReader.setFragmentRootElementName(?)

            Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
            marshaller.setClassesToBeBound(?);

            xmlFileReader.setUnmarshaller(marshaller);

            return xmlFileReader;

    }
public ItemReader fileXmlReader(@Value(#{stepExecution})stepExecution-stepExecution){
statxeventitemreader xmlFileReader=新的statxeventitemreader();
setResource(新类路径资源(“/File.xml”);
setFragmentRootElementNames(新字符串[]{?});(或)
setFragmentRootElementName(?)
Jaxb2Marshaller-marshaller=新的Jaxb2Marshaller();
marshaller.setClassesToBeBound(?);
setUnmarshaller(marshaller);
返回xmlFileReader;
}

我发现以下解决方案可能对其他人有所帮助:

@Bean
public StaxEventItemReader<Entity> reader() {

    XStreamMarshaller unmarshaller = new XStreamMarshaller();

    Map<String, Class> aliases = new HashMap<>();
    aliases.put("File", Entity.class);

    unmarshaller.setAliases(aliases);

    StaxEventItemReader<Customer> reader = new StaxEventItemReader<>();

    reader.setResource(new ClassPathResource("/data/file.xml"));
    reader.setFragmentRootElementName("file");
    reader.setUnmarshaller(unmarshaller);


    return reader;
}
@Bean
public StateVentitemReader(公共文件阅读器){
XStreamMarshaller unmarshaller=新的XStreamMarshaller();
映射别名=新HashMap();
别名.put(“文件”,Entity.class);
解组器。设置别名(别名);
statxeventitemreader reader=新的statxeventitemreader();
setResource(新类路径资源(“/data/file.xml”);
setFragmentRootElementName(“文件”);
reader.setUnmarshaller(unmarshaller);
返回读取器;
}

Any 1请帮助我用正确的类名填写ItemReader方法“”,以便获得正确的输出
@Bean
public StaxEventItemReader<Entity> reader() {

    XStreamMarshaller unmarshaller = new XStreamMarshaller();

    Map<String, Class> aliases = new HashMap<>();
    aliases.put("File", Entity.class);

    unmarshaller.setAliases(aliases);

    StaxEventItemReader<Customer> reader = new StaxEventItemReader<>();

    reader.setResource(new ClassPathResource("/data/file.xml"));
    reader.setFragmentRootElementName("file");
    reader.setUnmarshaller(unmarshaller);


    return reader;
}