Có cách nào để JAXB không lưu các trường có giá trị là giá trị mặc định được chỉ định trong chú thích @Element hay không, và sau đó đặt giá trị cho nó khi tải các phần tử từ XML là rỗng hoặc trống? Một ví dụ:JAXB Tránh lưu các giá trị mặc định
class Example
{
@XmlElement(defaultValue="default1")
String prop1;
}
Example example = new Example();
example.setProp1("default1");
jaxbMarshaller.marshal(example, aFile);
nên generate:
<example/>
Và khi tải
Example example = (Example) jaxbUnMarshaller.unmarshal(aFile);
assertTrue(example.getProp1().equals("default1"));
tôi đang cố gắng để làm điều này để tạo ra một tập tin cấu hình XML sạch, và làm cho nó tốt hơn có thể đọc được và kích thước nhỏ hơn.
Regars và cảm ơn trước.
Tôi không tin rằng JAXB sẽ kiểm tra xem giá trị có bằng với giá trị mặc định hay không và do đó nên bỏ qua. Việc thứ 2 bị cắt nên hoạt động. Xác nhận không thành công? –