9
정렬 화에서 요소를 제외하는 방법 나는 나의 모델이 있습니다MOXY JAXB :
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class CustomerTest {
private Long id;
@XmlPath("contact-info/billing-address")
private AddressTest billingAddress;
@XmlPath("contact-info/shipping-address")
private AddressTest shippingAddress;
@XmlPath("FileHeader/SchemaVersion/text()")
private String schemaVersion;
}
을 그리고이 같은 객체를 입력 :
<customerTest xmlns:fe="http://www.facturae.es/Facturae/2009/v3.2/Facturae" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<id>10</id>
<contact-info>
<billing-address>
<street>1 Billing Street</street>
</billing-address>
<shipping-address>
<street>2 Shipping Road</street>
</shipping-address>
</contact-info>
<FileHeader>
<SchemaVersion>3.2</SchemaVersion>
</FileHeader>
</customerTest>
:
private void marshallCustomerTest() {
try {
JAXBContext jc = JAXBContext.newInstance(CustomerTest.class);
CustomerTest customer = new CustomerTest();
customer.setId(new Long(10));
customer.setSchemaVersion("3.2");
AddressTest billingAddress = new AddressTest();
billingAddress.setStreet("1 Billing Street");
customer.setBillingAddress(billingAddress);
AddressTest shippingAddress = new AddressTest();
shippingAddress.setStreet("2 Shipping Road");
customer.setShippingAddress(shippingAddress);
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(customer, System.out);
} catch (JAXBException jex) {
jex.printStackTrace();
log.error(jex);
}
}
이 다음 XML을 생성
'id'속성에는 @XmlPath annotation이 없지만 이것은 최종 XML에도 있습니다. 나는이 동작을 null로 설정하는 'id'속성을 피할 수 있지만 다른 방법이 있는지 알고 싶습니다. 요점은 내 실제 모델이이 모델보다 훨씬 크고 null을 많은 속성으로 설정해야한다는 것입니다.
어떤 도움이 필요합니까? 사전에
감사합니다.
감사합니다! 당신은 항상 매우 도움이됩니다. – rocotocloc