我正在尝试为BeanIO写入设置我的mapping.xml文件,而且我遇到了一些问题。
我想让输出看起来如下:
<EmailRequest>
<Header>
<Version>1.0.0</Version>
<ApplicationId>1234</ApplicationId>
<SessionKey>SESSION_KEY</SessionKey>
</Header>
<BulkEmail>
<TemplateName>TEMPLATE_NAME</TemplateName>
<Search>
<SearchOption>SOLE</SearchOption>
</Search>
<ColumnDelimiter>|</ColumnDelimiter>
<RowDelimiter>NEWLINE</RowDelimiter>
<Sequence>
<VariableName>REWARD_NUMBER</VariableName>
<VariableName>REWARD_NUMBER</VariableName>
</Sequence>
</BulkEmail>
</EmailRequest>
但我正在运行一些问题。我为“BulkEmail”,“Search”,“Header”和“Sequence”创建了一个bean,但每当我尝试运行我的写操作时,我都会收到以下错误:
线程“main”org.beanio.BeanIOConfigurationException中的异常:无效的记录'Header',在流'EmailRequest'中:无效的bean类'com.xmlheader.Header'
这件事很容易解决吗?或者我的映射错了?或者,如果您有一个更简单的方法来做到这一点,将不胜感激!映射可以在下面找到,谢谢你的帮助!
<stream name="EmailRequest" format="xml">
<record name="requestHeader" class="com.xmlheader.Header">
<field name="Version" />
<field name="ApplicationId" />
<field name="SessionKey" />
</record>
<record name="BulkEmail" class="com.xmlheader.BulkEmail">
<field name="TemplateName" />
<bean name="search" class="com.xmlheader.Search" xmlType="element">
<field name="SearchOption" />
</bean>
<field name="ColumnDelimiter" />
<field name="RowDelimiter" />
<bean name="Sequence" class="com.xmlheader.Sequence" xmlType="element">
<field name="VariableName" />
</bean>
</record>
</stream>
答案 0 :(得分:0)
<record name="requestHeader" class="com.xmlheader.Header">
应该如下
<record name="Header" class="com.xmlheader.Header">
因为在你的样本xml中它是'Header'