cuốn sách gpt4 ai đã làm

Thêm ràng buộc về số lượng vào @XmlElement?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 19:00:31 25 4
mua khóa gpt4 Nike

Vì vậy, tôi quay lại với một câu hỏi khác dành cho bạn. Tôi có một đối tượng JAXB mà tôi đang mã hóa/giải mã từ tệp XML.

Mã này là như thế này:

@XmlAccessorType(XmlAccessType.FIELD)
dòng công khai {

@XmlElement(bắt buộc = true)
@Min(1)
số lượng int riêng tư;
...

}

Cấu trúc XML của tôi là:

    
2

Bây giờ mã Java cũng chấp nhận điều này:

    
2
2

Vì vậy, tôi nên viết các ràng buộc của mình như thế nào để chỉ chấp nhận xml đầu tiên chứ không phải xml thứ hai.

Cảm ơn một lần nữa!

câu trả lời hay nhất

Bạn nên sử dụng XSD và xác thực xml của mình dựa trên nó. Chúng tôi phải xác thực tệp xml của mình bằng xsd tương ứng với phiên bản của nó:

        ValidationEventCollector vec = new ValidationEventCollector();

SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

URL xsdURL = getClass().getResource("/xsd/" + xsd);
Lược đồ lược đồ = sf.newSchema(xsdURL);

// Bạn nên thay đổi jaxbContext tại đây cho nội dung của mình....
Unmarshaller um = (getJAXBContext(NotificationReponseEnum.NOTIFICATION, notificationWrapper.getEnteteNotification().getTypeNotification()))
.createUnmarshaller();
um.setSchema(lược đồ);

thử {

Trình đọc StringReader = StringReader mới(xml);
um.setEventHandler(vec);
um.unmarshal(người đọc);

} bắt (javax.xml.bind.UnmarshalException cũ) {

if (vec != null && vec.hasEvents()) {
lỗi = new ArrayList();
for (ValidationEvent ve : vec.getEvents()) {
MessageErreur erreur = new MessageErreur();
Thông điệp chuỗi = ve.getMessage();
ValidationEventLocator vel = ve.getLocator();
int numLigne = vel.getLineNumber();
int numColonne = vel.getColumnNumber();
erreur.setMessage(tin nhắn);
msgErreur.setCode(ve.getSeverity())
erreur.setException(ve.getLinkedException());
erreur.setPosition(numLigne, numColonne);
erreurs.add(erreur);

logger.debug("Lỗi xác thực xml" + "erreur : " + numLigne + "." + numColonne + ": " + msg);
}
}

}

Giới thiệu về java - Thêm ràng buộc đếm vào @XmlElement? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7572563/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress