【发布时间】:2022-12-11 13:26:48
【问题描述】:
我很难尝试在 XML 下方进行映射:
<?xml version="1.0" encoding="UTF-8" ?>
<query>
<id>123</id>
<tracking>555</tracking>
<results>
<contact>
<full_name>
<first_name>John</first_name>
<last_name>Doe</last_name>
</full_name>
<street>123 Main St</street>
<city>Chicago</city>
<state>IL</state>
<zip>60610</zip>
</contact>
<contact>
<full_name>
<first_name>Jane</first_name>
<last_name>Smith</last_name>
</full_name>
<street>123 Main St</street>
<city>Miami</city>
<state>FL</state>
</contact>
</results>
</query>
我试过将记录名称=“联系人”作为记录名称=“结果”中的一个片段,但只有一个记录即将到来,这是预期的,因为只有一个result,但多个contact:
<beanio xmlns="http://www.beanio.org/2012/03">
<stream name="query" format="xml" strict="true">
<record name="id"></record>
<record name="tracking"></record>
<record name="results" class="com.test.model.InputXml" occurs="0+">
<segment name="contact">
<segment name="full_name">
<field name="firstName" xmlName="first_name" maxLength="20" />
<field name="lastName" xmlName="last_name" maxLength="30" />
</segment>
<field name="street" maxLength="30" />
<field name="city" maxLength="25" />
<field name="state" minLength="2" maxLength="2" />
<field name="zip" regex="\d{5}" minOccurs="0" default="" />
</segment>
</record>
</stream>
</beanio>
输入 Xml 模型:
@Data
public class InputXml {
private String firstName;
private String lastName;
private String street;
private String city;
private String state;
private String zip;
}
ListInputXml 模型:
@Data
public class ListInputXml {
private List<InputXml> contact;
}
【问题讨论】:
-
请同时显示您的 Java 对象的结构?
标签: xml mapping spring-batch bean-io