Java sytobook.us/hotel_proxy.php?hotel_id=436924&;lang=en&;抵达时间=2016年11月20日&;出发日期=2016年11月29日&;货币=欧元和欧元;prs_arr%5B0%5D=2&;amu=280828207&;utm_来源=项目121&;utm_medium=附属公司和;utm_术语=悉尼&;utm_含量=etb5&;utm_活动=en&;rtoken=1VSwnz7whjuxw-RGo5aP6cp-XmdDQSHC7twXmVrwPejOzYDFXdGY_BDBS9xBUP8xu83QSMZJGZ_VGQZHJEE5KVENJKUPBATUK6JTQIWCK, 1VSwnz7whjuxw-RGo5aP6cp-XmdDQSHC7twXmVrwPejOzYDFXdGY_BDBS9xBUP8xu83QSMZJGZ_vgQZHjeE5kVENJkuPBAtuKd6jTqIWCk, 1. 酒店 1. 1. 1. 0 0 0 0 1. 1379794752 两人高级+早餐 2. 4. 1890 0 1890 1890 1. https://stage-site.easytobook.us/booking_screen.php?hotel_id=436924&精确=436924&;城市id=23&;抵达时间=2016年11月20日&;出发日期=2016年11月29日&;货币=欧元和欧元;lang=en&;房间[13794752]=1&;人数=2人及;房间=1间及;amu=280828207&;utm_来源=项目121&;utm_medium=附属公司和;utm_术语=悉尼&;utm_含量=etb5&;utm_活动=en&;rtoken=ocGkvI7xuJJwz1BWWYNBztr7n-u ti8FVNFZ3CZSRWRMRTUHAEGZICH-0POK2ZOVES-4Fz1, http://stage-site.easytobook.us/hotel_proxy.php?hotel_id=436924&lang=en&;抵达时间=2016年11月20日&;出发日期=2016年11月29日&;货币=欧元和欧元;prs_arr%5B0%5D=2&;amu=280828207&;utm_来源=项目121&;utm_medium=附属公司和;utm_术语=悉尼&;utm_含量=etb5&;utm_活动=en&;rtoken=ocGkvI7xuJJwz1BWWYNBztr7n-u ti8FVNFZ3CZSRWRMRTUHAEGZICH-0POK2ZOVES-4Fz1, ocGkvI7xuJJwz1BWWYNBztr7n-uu tI8fVNfz3cZsrwRMGrtuHAEGziCH-0poK2ZoveEs-4Fz1_4;Y4U8pwE4KGKjJc4iwdSKM4ewIJwMU8omA, 1. 酒店 1. 1. 1. 0 0 0 0 1. .....
错误消息说明了一切: com.easytobook.Roomtype#totalTaxesAndFees在@javax.xml.bind.annotation.xmldattribute和@javax.xml.bind.annotation.xmlement 您的代码有:Java sytobook.us/hotel_proxy.php?hotel_id=436924&;lang=en&;抵达时间=2016年11月20日&;出发日期=2016年11月29日&;货币=欧元和欧元;prs_arr%5B0%5D=2&;amu=280828207&;utm_来源=项目121&;utm_medium=附属公司和;utm_术语=悉尼&;utm_含量=etb5&;utm_活动=en&;rtoken=1VSwnz7whjuxw-RGo5aP6cp-XmdDQSHC7twXmVrwPejOzYDFXdGY_BDBS9xBUP8xu83QSMZJGZ_VGQZHJEE5KVENJKUPBATUK6JTQIWCK, 1VSwnz7whjuxw-RGo5aP6cp-XmdDQSHC7twXmVrwPejOzYDFXdGY_BDBS9xBUP8xu83QSMZJGZ_vgQZHjeE5kVENJkuPBAtuKd6jTqIWCk, 1. 酒店 1. 1. 1. 0 0 0 0 1. 1379794752 两人高级+早餐 2. 4. 1890 0 1890 1890 1. https://stage-site.easytobook.us/booking_screen.php?hotel_id=436924&精确=436924&;城市id=23&;抵达时间=2016年11月20日&;出发日期=2016年11月29日&;货币=欧元和欧元;lang=en&;房间[13794752]=1&;人数=2人及;房间=1间及;amu=280828207&;utm_来源=项目121&;utm_medium=附属公司和;utm_术语=悉尼&;utm_含量=etb5&;utm_活动=en&;rtoken=ocGkvI7xuJJwz1BWWYNBztr7n-u ti8FVNFZ3CZSRWRMRTUHAEGZICH-0POK2ZOVES-4Fz1, http://stage-site.easytobook.us/hotel_proxy.php?hotel_id=436924&lang=en&;抵达时间=2016年11月20日&;出发日期=2016年11月29日&;货币=欧元和欧元;prs_arr%5B0%5D=2&;amu=280828207&;utm_来源=项目121&;utm_medium=附属公司和;utm_术语=悉尼&;utm_含量=etb5&;utm_活动=en&;rtoken=ocGkvI7xuJJwz1BWWYNBztr7n-u ti8FVNFZ3CZSRWRMRTUHAEGZICH-0POK2ZOVES-4Fz1, ocGkvI7xuJJwz1BWWYNBztr7n-uu tI8fVNfz3cZsrwRMGrtuHAEGziCH-0poK2ZoveEs-4Fz1_4;Y4U8pwE4KGKjJc4iwdSKM4ewIJwMU8omA, 1. 酒店 1. 1. 1. 0 0 0 0 1. .....,java,jaxb,Java,Jaxb,错误消息说明了一切: com.easytobook.Roomtype#totalTaxesAndFees在@javax.xml.bind.annotation.xmldattribute和@javax.xml.bind.annotation.xmlement 您的代码有: @XmlRootElement(name = "Roomtype") @XmlAccessorType(XmlAccessType.FIELD) public class Roomtype { . . . @X
@XmlRootElement(name = "Roomtype")
@XmlAccessorType(XmlAccessType.FIELD)
public class Roomtype {
. . .
@XmlAttribute(name="EUR")
@XmlElement(name = "TotalTaxesAndFees")
private double totalTaxesAndFees;
这是不允许的
您的问题在于这些XML元素:
<Roomtype>
<Roomid parentid="2069840686">2069840686</Roomid>
. . .
<Totalrate currency="AUD" EUR="1204.3398">1800</Totalrate>
<TotalTaxesAndFees currency="AUD" EUR="0">0</TotalTaxesAndFees>
<TotalChargeable currency="AUD" EUR="1204.3398">1800</TotalChargeable>
<Reckratetotal currency="AUD" EUR="1204.3398">1800</Reckratetotal>
相反,为了在
元素上有一个属性,您需要一个Roomid
类(并且您不需要@XmlRootElement
):
总共4个元素具有相同的结构,因此它们可以共享一个类:
@XmlAccessorType(XmlAccessType.FIELD)
public class Total {
@XmlAttribute(name = "currency")
private String currency;
@XmlAttribute(name = "EUR")
private double eur;
@XmlValue
private double total;
}
这两个类的使用方式如下:
@XmlAccessorType(XmlAccessType.FIELD)
public class Roomtype {
@XmlElement(name = "Roomid")
private Roomid roomid;
. . .
@XmlElement(name = "Totalrate")
private Total totalrate;
@XmlElement(name = "TotalTaxesAndFees")
private Total totalTaxesAndFees;
@XmlElement(name = "TotalChargeable")
private Total totalChargeable;
@XmlElement(name = "Reckratetotal")
private Total reckratetotal;
<Roomtype>
<Roomid parentid="2069840686">2069840686</Roomid>
. . .
<Totalrate currency="AUD" EUR="1204.3398">1800</Totalrate>
<TotalTaxesAndFees currency="AUD" EUR="0">0</TotalTaxesAndFees>
<TotalChargeable currency="AUD" EUR="1204.3398">1800</TotalChargeable>
<Reckratetotal currency="AUD" EUR="1204.3398">1800</Reckratetotal>
public class Roomtype {
@XmlAttribute(name = "parentid")
private String parentid;
@XmlAccessorType(XmlAccessType.FIELD)
public class Roomid {
@XmlAttribute(name = "parentid")
private String parentid;
@XmlValue
private long roomId;
}
@XmlAccessorType(XmlAccessType.FIELD)
public class Total {
@XmlAttribute(name = "currency")
private String currency;
@XmlAttribute(name = "EUR")
private double eur;
@XmlValue
private double total;
}
@XmlAccessorType(XmlAccessType.FIELD)
public class Roomtype {
@XmlElement(name = "Roomid")
private Roomid roomid;
. . .
@XmlElement(name = "Totalrate")
private Total totalrate;
@XmlElement(name = "TotalTaxesAndFees")
private Total totalTaxesAndFees;
@XmlElement(name = "TotalChargeable")
private Total totalChargeable;
@XmlElement(name = "Reckratetotal")
private Total reckratetotal;