- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我请求有关此 BeanIO Xml 映射的帮助。由于某种原因,列表段未正确解释为列表根据引用指南,这应该像下面的代码示例一样进行编码,但是在这种情况下,我会收到如下所示的错误消息。
如果我将集合标记更改为以下内容,则 xml 文件会正确转换为 bean,但只会读取一个 ePrestation。 (这也与引用指南冲突)
你知道我可能做错了什么吗?或者可以使用其他解决方案将此 xml 正确转换为 bean?
Exception in thread "main" org.beanio.BeanIOConfigurationException: Invalid segment 'ePrestation', in segment 'ePrestationList', in segment 'eattest', in record 'registerEattestRequest', in stream 'requestStream': No such property 'ePrestation' in class 'be.cm.apps.application.beanz.Eattest'
at org.beanio.internal.compiler.ProcessorSupport.process(ProcessorSupport.java:93)
at org.beanio.internal.compiler.ParserFactorySupport.createStream(ParserFactorySupport.java:95)
at org.beanio.internal.compiler.xml.XmlParserFactory.createStream(XmlParserFactory.java:51)
at org.beanio.internal.compiler.StreamCompiler.createStreamDefinitions(StreamCompiler.java:149)
at org.beanio.internal.compiler.StreamCompiler.loadMapping(StreamCompiler.java:103)
at org.beanio.internal.DefaultStreamFactory.load(DefaultStreamFactory.java:58)
at org.beanio.StreamFactory.loadResource(StreamFactory.java:215)
at org.beanio.StreamFactory.loadResource(StreamFactory.java:198)
at be.cm.apps.application.beanz.ExampleReader.readRequestBean2(ExampleReader.java:62)
at be.cm.apps.application.Main.main(Main.java:29)
Caused by: org.beanio.BeanIOConfigurationException: No such property 'ePrestation' in class 'be.cm.apps.application.beanz.Eattest'
at org.beanio.internal.compiler.ParserFactorySupport.getPropertyDescriptor(ParserFactorySupport.java:1331)
at org.beanio.internal.compiler.ParserFactorySupport.reflectCollectionType(ParserFactorySupport.java:1143)
at org.beanio.internal.compiler.ParserFactorySupport.reflectAggregationType(ParserFactorySupport.java:988)
at org.beanio.internal.compiler.ParserFactorySupport.finalizeSegmentIteration(ParserFactorySupport.java:709)
at org.beanio.internal.compiler.ParserFactorySupport.finalizeSegment(ParserFactorySupport.java:697)
at org.beanio.internal.compiler.ProcessorSupport.handleComponent(ProcessorSupport.java:135)
at org.beanio.internal.compiler.ProcessorSupport.handleComponent(ProcessorSupport.java:133)
at org.beanio.internal.compiler.ProcessorSupport.handleComponent(ProcessorSupport.java:133)
at org.beanio.internal.compiler.ProcessorSupport.handleComponent(ProcessorSupport.java:125)
at org.beanio.internal.compiler.ProcessorSupport.handleComponent(ProcessorSupport.java:109)
at org.beanio.internal.compiler.ProcessorSupport.process(ProcessorSupport.java:46)
... 9 more
Process finished with exit code 1
定义文件:
<beanio xmlns="http://www.beanio.org/2012/03"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.beanio.org/2012/03 http://www.beanio.org/2012/03/mapping.xsd">
<stream name="requestStream" format="xml" xmlType="none" >
<record name="registerEattestRequest" class="be.cm.apps.application.beanz.RequestEattest" minOccurs="1" maxOccurs="1">
<segment name="requestContext" minOccurs="1" maxOccurs="1" class="be.cm.apps.application.beanz.RequestContext" >
<field name="b2bReference" />
<field name="externalReference" />
<field name="creationDate" />
<field name="creationTime" />
<field name="requestorNihii" />
<field name="messageDate" />
<field name="messageTime" />
<field name="receptionDate" />
<field name="receptionTime" />
<field name="requestorType" />
<field name="nippinReference" />
</segment>
<segment name="eattest" minOccurs="1" maxOccurs="1" class="be.cm.apps.application.beanz.Eattest" >
<field name="invoicingDate" />
<field name="invoicingTime" />
<field name="attestorNihii" />
<field name="providerFeeAmount" />
<field name="entrepriseNumber" />
<field name="receivedNissNumber" />
<segment name="ePrestationList" >
<segment name="ePrestation" class="be.cm.apps.application.beanz.ePrestation" collection="list" minOccurs="1" maxOccurs="unbounded">
<field name="order" />
<field name="creationDetailDate" />
<field name="creationDetailTime" />
<field name="providerNihii" />
<field name="prestationCode" />
<field name="quantity" />
<field name="beginDate" />
<field name="endDate" />
</segment>
</segment>
</segment>
</record>
</stream>
</beanio>
要处理的示例 xml:
<registerEattestRequest>
<requestContext>
<b2bReference>MULTI_KO2019030510:12:41</b2bReference>
<externalReference>10765515001.MULTI_KO20190305</externalReference>
<creationDate>2019-03-05</creationDate>
<creationTime>10:12:41</creationTime>
<requestorNihii>10765515001</requestorNihii>
<messageDate>2019-03-05</messageDate>
<messageTime>10:12:41</messageTime>
<receptionDate>2019-03-05</receptionDate>
<receptionTime>10:12:41</receptionTime>
<requestorType>persphysician</requestorType>
<nippinReference>MULTI_KO2019030510:12:41</nippinReference>
</requestContext>
<eattest>
<invoicingDate>2019-03-05</invoicingDate>
<invoicingTime>10:12:41</invoicingTime>
<attestorNihii>10765515001</attestorNihii>
<providerFeeAmount>24.00</providerFeeAmount>
<entrepriseNumber>0635769870</entrepriseNumber>
<receivedNissNumber>19640721 489 80</receivedNissNumber>
<ePrestationList>
<ePrestation>
<order>2</order>
<creationDetailDate>2019-03-05</creationDetailDate>
<creationDetailTime>10:12:41</creationDetailTime>
<providerNihii>10765515001</providerNihii>
<prestationCode>101010</prestationCode>
<quantity>1</quantity>
<beginDate>2019-03-05</beginDate>
<endDate>2019-03-05</endDate>
</ePrestation>
<ePrestation>
<order>3</order>
<creationDetailDate>2019-03-05</creationDetailDate>
<creationDetailTime>10:12:41</creationDetailTime>
<providerNihii>10765515001</providerNihii>
<prestationCode>144034</prestationCode>
<quantity>1</quantity>
<beginDate>2019-03-05</beginDate>
<endDate>2019-03-05</endDate>
</ePrestation>
</ePrestationList>
</eattest>
</registerEattestRequest>
涉及的类:
public class RequestEattest {
private RequestContext requestContext;
private Eattest eattest;
public RequestContext getRequestContext() {
return requestContext;
}
public void setRequestContext(RequestContext requestContext) {
this.requestContext = requestContext;
}
public Eattest getEattest() {
return eattest;
}
public void setEattest(Eattest eattest) {
this.eattest = eattest;
}
}
package be.cm.apps.application.beanz;
public class RequestContext {
private String b2bReference;
private String externalReference;
private String creationDate;
private String creationTime;
private String requestorNihii;
private String messageDate;
private String messageTime;
private String receptionDate;
private String receptionTime;
private String requestorType;
private String nippinReference;
public String getReceptionDate() {
return receptionDate;
}
public void setReceptionDate(String receptionDate) {
this.receptionDate = receptionDate;
}
public String getReceptionTime() {
return receptionTime;
}
public void setReceptionTime(String receptionTime) {
this.receptionTime = receptionTime;
}
public String getB2bReference() {
return b2bReference;
}
public void setB2bReference(String b2bReference) {
this.b2bReference = b2bReference;
}
public String getExternalReference() {
return externalReference;
}
public void setExternalReference(String externalReference) {
this.externalReference = externalReference;
}
public String getCreationDate() {
return creationDate;
}
public void setCreationDate(String creationDate) {
this.creationDate = creationDate;
}
public String getCreationTime() {
return creationTime;
}
public void setCreationTime(String creationTime) {
this.creationTime = creationTime;
}
public String getRequestorNihii() {
return requestorNihii;
}
public void setRequestorNihii(String requestorNihii) {
this.requestorNihii = requestorNihii;
}
public String getMessageDate() {
return messageDate;
}
public void setMessageDate(String messageDate) {
this.messageDate = messageDate;
}
public String getMessageTime() {
return messageTime;
}
public void setMessageTime(String messageTime) {
this.messageTime = messageTime;
}
public String getRequestorType() {
return requestorType;
}
public void setRequestorType(String requestorType) {
this.requestorType = requestorType;
}
public String getNippinReference() {
return nippinReference;
}
public void setNippinReference(String nippinReference) {
this.nippinReference = nippinReference;
}
}
public class Eattest {
private String invoicingDate;
private String invoicingTime;
private String attestorNihii;
private String providerFeeAmount;
private String entrepriseNumber;
private String receivedNissNumber;
private List<ePrestation> ePrestationList = new ArrayList<>();
public List<ePrestation> getePrestationList() {
return ePrestationList;
}
public void setePrestationList(List<ePrestation> ePrestationList) {
this.ePrestationList = ePrestationList;
}
public String getInvoicingDate() {
return invoicingDate;
}
public void setInvoicingDate(String invoicingDate) {
this.invoicingDate = invoicingDate;
}
public String getInvoicingTime() {
return invoicingTime;
}
public void setInvoicingTime(String invoicingTime) {
this.invoicingTime = invoicingTime;
}
public String getAttestorNihii() {
return attestorNihii;
}
public void setAttestorNihii(String attestorNihii) {
this.attestorNihii = attestorNihii;
}
public String getProviderFeeAmount() {
return providerFeeAmount;
}
public void setProviderFeeAmount(String providerFeeAmount) {
this.providerFeeAmount = providerFeeAmount;
}
public String getEntrepriseNumber() {
return entrepriseNumber;
}
public void setEntrepriseNumber(String entrepriseNumber) {
this.entrepriseNumber = entrepriseNumber;
}
public String getReceivedNissNumber() {
return receivedNissNumber;
}
public void setReceivedNissNumber(String receivedNissNumber) {
this.receivedNissNumber = receivedNissNumber;
}
}
public class ePrestation {
private int order;
private String creationDetailDate;
private String creationDetailTime;
private String providerNihii;
private String prestationCode;
private int quantity;
private String beginDate;
private String endDate;
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
public String getCreationDetailDate() {
return creationDetailDate;
}
public void setCreationDetailDate(String creationDetailDate) {
this.creationDetailDate = creationDetailDate;
}
public String getCreationDetailTime() {
return creationDetailTime;
}
public void setCreationDetailTime(String creationDetailTime) {
this.creationDetailTime = creationDetailTime;
}
public String getProviderNihii() {
return providerNihii;
}
public void setProviderNihii(String providerNihii) {
this.providerNihii = providerNihii;
}
public String getPrestationCode() {
return prestationCode;
}
public void setPrestationCode(String prestationCode) {
this.prestationCode = prestationCode;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public String getBeginDate() {
return beginDate;
}
public void setBeginDate(String beginDate) {
this.beginDate = beginDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
}
最佳答案
引用4.5.2. Repeating Segments部分,定义 XML 中不应该有用于重复嵌套元素的嵌套段标记。同时嵌套标签<ePrestationList>
和<ePrestation>
输入 XML 中应相应更改。更新以下代码片段后的 XML 应该可以解决问题。
定义 XML
...
<field name="receivedNissNumber" />
<!-- <segment name="ePrestationList"> -->
<segment name="ePrestationList"
class="be.cm.apps.application.beanz.ePrestation" collection="list"
minOccurs="1" maxOccurs="unbounded">
<field name="order" />
<field name="creationDetailDate" />
<field name="creationDetailTime" />
<field name="providerNihii" />
<field name="prestationCode" />
<field name="quantity" />
<field name="beginDate" />
<field name="endDate" />
</segment>
<!-- </segment> -->
</segment>
输入XML
...
<ePrestationList>
<!-- <ePrestation> -->
<order>2</order>
<creationDetailDate>2019-03-05</creationDetailDate>
<creationDetailTime>10:12:41</creationDetailTime>
<providerNihii>10765515001</providerNihii>
<prestationCode>101010</prestationCode>
<quantity>1</quantity>
<beginDate>2019-03-05</beginDate>
<endDate>2019-03-05</endDate>
<!-- </ePrestation> -->
</ePrestationList>
<!-- <ePrestation> -->
<ePrestationList>
<order>3</order>
<creationDetailDate>2019-03-05</creationDetailDate>
<creationDetailTime>10:12:41</creationDetailTime>
<providerNihii>10765515001</providerNihii>
<prestationCode>144034</prestationCode>
<quantity>1</quantity>
<beginDate>2019-03-05</beginDate>
<endDate>2019-03-05</endDate>
<!-- </ePrestation> -->
</ePrestationList>
</eattest>
关于java - BeanIO 的 Xml 映射,列表未正确解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55002712/
我在一个项目中工作,该项目需要 SQL 结果的最佳性能,并且希望优化查询,但经过反复试验后,我在 IN 方面遇到了一些问题。 -- THIS RETURNS NO RESULTS AT ALL. SE
在尝试创建一个实际上非常简单的 SQL 语句时,我发现自己迷失了方向。 我有一个包含 3 个表的数据库: 食谱 - 存储一些用于 cooking 的食谱名称 配料食谱 - 将配料与食谱链接 成分 -
我正在尝试理解 PHP 中的 Hebrev 函数。 https://php.net/manual/en/function.hebrevc.php 它说:“将逻辑希伯来语文本转换为视觉文本”。但我不明白
嗨,我在 Grid view 的 android 文档中发现了一段代码对于以下代码。 gridview.setOnItemClickListener(new OnItemClickListener()
谁能解释一下 InfiniBand 是什么?与以太网相比的主要区别是什么,这些差异如何使其比以太网更快? 在官方description从 mellanox 写到 Introduce InfiniBan
这个问题已经有答案了: How are java increment statements evaluated in complex expressions (1 个回答) 已关闭 8 年前。 我知道
我正在阅读 MySQL 教程,我遇到了这个: SELECT /*! SQL_NO_CACHE */ user FROM users; 为什么优化提示 SQL_NO_CACHE 包含在: /*!
我无法理解$(this),我做了一个剪刀石头布的版本,并应用了 jQuery 让用户在计算机上选择按钮选项。我希望有人能解释一下 $(this) 指的是什么,它是 btn-primary 吗?该函数在
我不是很确定 while(choice == 1 || choice ==2);谁能解释一下。我明白这一点 if(choice ==1) displayMonthly(rainfall); e
let flyRight = CABasicAnimation(keyPath: "position.x") flyRight.toValue = view.bounds.size.width/2 f
目录 解释:int型默认值为0 但我们尝试发现并不能通过: 原因: int的默认值为0,而Integer的默认值为null
我正在处理一个查询,自从一个 SSRS 服务器传输到另一个服务器后,它似乎没有按预期执行,并且 where 语句的一部分中出现了以下行 找出不同之处,或者至少从我能找到的地方来看。 where COA
我正在制作一个退回检测程序,读取退回邮件。我们的设置是发送电子邮件,在发送的邮件中添加一个 noreply@domain.tl。一些收件人不再存在,因此我们想要读取退回邮件,并检测它发送给谁。我已经崩
我有一个关于公式通过控制点弯曲的问题。 如您所知,HTML Canvas 有 quadraticCurveTo(x1, y1, x2, y2)与 x1 and x2作为控制点。 但是,当您尝试使用它绘
我有一个 Emakefile看起来像: %% -- %% %% -- {'/Users/user/projects/custom_test/trunk/*', [debug_info, {out
我有一个非常简单的问题。这不仅适用于 spray-json,而且我已经阅读了 argonaut 和 circe 的类似声明。所以请赐教。 在 spray-json 中,我遇到了 There is no
我正在为视频添加水印。我试图让水印与视频尺寸成比例。我已经使用 scale2ref 看到了十几个不同的答案,但没有解释实际发生了什么,所以我发现很难知道如何实现/更改配置以适应我的情况。 当前覆盖命令
因为我正在学习语言,所以我在玩 Haskell,我只是发现了一些我不理解的东西,我找不到解释。如果我尝试运行此代码: map (`div` 0) [1,2,3,4] 我得到一个除以 0 的异常,这是预
我正在寻找解决错误对象引用未设置到对象实例的步骤/指南。以及问题发生原因的解释。 我正在寻找更一般的解释,所以如果我收到错误,我应该采取什么步骤来查找问题。我经常看到有人提供特定代码段的帖子,而其他人
我最近想升级我的知识React ,所以我从组件生命周期方法开始。让我好奇的第一件事是这个componentWillReceiveProps .所以,文档说当组件接收新的(不一定是更新的) Prop 时
我是一名优秀的程序员,十分优秀!