我目前正在处理的项目有2个需要创建的xml文档。并不重要,但要做到这些是: - 直接借记(痛苦008) - 学分转移(痛苦001)。
这些消息的xsd有很多相似之处。我正在使用jaxb生成类,然后用内容填充生成的类,然后生成xml。 我已经完成了第一个xml的内容编码,它占用了相当多的代码。
现在我开始使用转帐信息。我想尽可能多地重用为直接借记编写的代码,但是信用转移有一个不同的ObjectFactory,因此有不同的类(相同的类但在不同的包/名称空间中)
当然我已经提取了所有代码来生成内容,但这仍然让我有很多setter
有没有更好的方法来生成xml文档?
编辑 -
问题暂停,因此有些代码:
我需要生成2条xml消息。每个都有自己的xsd。
每个xsd都包含一个partyidentification32元素。以下方法生成内容:
private sepa.pain00100103.PartyIdentification32 createInitiatingParty() {
sepa.pain00100103.PartyIdentification32 partyId = objectFactory.createPartyIdentification32();
partyId.setNm("Name");
partyId.setAdrs("Streetname");
return partyId;
}
private sepa.pain00100802.PartyIdentification32 createInitiatingParty() {
sepa.pain00100802.PartyIdentification32 partyId = objectFactory.createPartyIdentification32();
partyId.setNm("Name");
partyId.setAdrs("Streetname");
return partyId;
}
正如您所看到的,除了返回类型之外,代码几乎相同 在不同的包中有两类PartyIdentification32,因此我必须两次编写完全相同的代码。 Jaxb生成这些类,因此我无法控制这些类的生成方式 这是一个简单的例子,但是有更多这样的代码重复。
我的问题是,有没有办法在没有代码重复的情况下以更优雅的方式解决这个问题?
希望这会使问题更加明确。