jaxb를 사용하여 xml을 읽으려고하고 파서를 만들었습니다. 나는 내 Java Bean과 주석을 구조화하는 방법에 대해 약간의 의구심을 갖고있다. 불법적 인 주석 오류가 발생했기 때문에 내가 한 일이 잘못되었다는 것을 알고 있습니다.jaxb를 사용하여 xml 문서 읽기
jax b가 내 xml을 구문 분석 할 수 있도록 bean 및 주석을 작성하는 방법에 대한 도움을 얻을 수 있습니까?
내 단순화 된 XML 문서는 다음과 같습니다
감사 (긴 게시물에 대한 죄송하지만 희망은 다른 사람을 도움이 될 것입니다) ... 여기
<WEB-ITM-EXT-REC>
<ACTVTY-CODE>A</ACTVTY-CODE>
<WEB-ITM-EXT-DATA>
<ITEM-NO>93501250080</ITEM-NO>
<PROMOTION-DETAILS>
<PROMOTION-ID></PROMOTION-ID>
<PROMOTION-START-DATE>0</PROMOTION-START-DATE>
<PROMOTION-END-DATE>0</PROMOTION-END-DATE>
<PROMOTION-PRICE>.00</PROMOTION-PRICE>
</PROMOTION-DETAILS>
<NORMAL-SELL-PRICES>
<SELL-PRICE-EFFECTIVE-DATE-1>0</SELL-PRICE-EFFECTIVE-DATE-1>
<SELL-PRICE-1>.00</SELL-PRICE-1>
<SELL-PRICE-EFFECTIVE-DATE-2>0</SELL-PRICE-EFFECTIVE-DATE-2>
<SELL-PRICE-2>.00</SELL-PRICE-2>
<SELL-PRICE-EFFECTIVE-DATE-3>0</SELL-PRICE-EFFECTIVE-DATE-3>
<SELL-PRICE-3>189.95</SELL-PRICE-3>
</NORMAL-SELL-PRICES>
<OUT-OF-STOCK-IND>Y</OUT-OF-STOCK-IND>
</WEB-ITM-EXT-DATA>
</WEB-ITM-EXT-REC>
내가 내 자바 콩을 쓴 방법입니다. ..
@XmlRootElement(name = "WEB-ITM-EXT-REC")
public class ItemDocuments {
@XmlElement(name="ACTVTY-CODE")
private String activityCode;
@XmlElement(name="WEB-ITM-EXT-DATA")
private List<ItemDocument> itemDocuments;
public List<ItemDocument> getItemDocuments() {
return itemDocuments;
}
public void setItemDocuments(List<ItemDocument> itemDocuments) {
this.itemDocuments = itemDocuments;
}
public String getActivityCode() {
return activityCode;
}
public void setActivityCode(String activityCode) {
this.activityCode = activityCode;
}
}
항목 콩
@XmlRootElement(name = "WEB-ITM-EXT-DATA")
@XmlAccessorType(XmlAccessType.FIELD)
public class ItemDocument {
@XmlElement(name="ITEM-NO")
private String itemNo;
private PromotionDocument promotion;
private SellPriceDocument sellPrice;
@XmlElement(name="OUT-OF-STOCK-IND")
private String outOfStockInd;
getters..
setters...
}
매핑으로3210
판매 가격 콩
@XmlType
public class SellPriceDocument {
@XmlElement(name="SELL-PRICE-EFFECTIVE-DATE-1")
private String sellPriceEffectiveDateOne;
@XmlElement(name="SELL-PRICE-1")
private String sellPriceOne;
@XmlElement(name="SELL-PRICE-EFFECTIVE-DATE-2")
private String sellPriceEffectiveDateTwo;
@XmlElement(name="SELL-PRICE-2")
private String sellPriceTwo;
@XmlElement(name="SELL-PRICE-EFFECTIVE-DATE-3")
private String sellPriceEffectiveDateThree;
@XmlElement(name="SELL-PRICE-3")
private String sellPriceThree;
getters..
setters...
}
추진 콩
public class PromotionDocument {
@XmlElement(name="PROMOTION-ID")
private String promotionId;
@XmlElement(name="PROMOTION-START-DATE")
private String promotionStartDate;
@XmlElement(name="PROMOTION-END-DATE")
private String promotionEndDate;
@XmlElement(name="PROMOTION-PRICE")
private String promotionPrice;
getters..
setters...
}
귀하의 엔드 포인트에서 유효성을 검사하거나 마샬링하는 스키마가 있습니까? 스키마를 사용하여 손으로 직접 만드는 대신 Java 객체를 생성 할 수 있습니다. –