在JAXB中解组时出错?

时间:2014-10-20 06:49:49

标签: java xml jaxb

我在解组时遇到异常。

javax.xml.bind.UnmarshalException: unexpected element (uri:"http://alexa.amazonaws.com/doc/2005-10-05/", local:"TrafficHistoryResponse"). Expected elements are <{}TrafficHistoryResponse>

我的xml

<?xml version="1.0"?>
<aws:TrafficHistoryResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
    <aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11">
        <aws:OperationRequest>
            <aws:RequestId>6b09364e-ac0d-686c-cb95-0b1393fd234e</aws:RequestId>
        </aws:OperationRequest>
        <aws:TrafficHistoryResult>
            <aws:Alexa>
                <aws:TrafficHistory>
                    <aws:Range>31</aws:Range>
                    <aws:Site>www.google.com</aws:Site>
                    <aws:Start>2014-09-17</aws:Start>
                    <aws:HistoricalData>
                        <aws:Data>
                            <aws:Date>2014-09-17</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>127970</aws:PerMillion>
                                <aws:PerUser>27.04</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>507000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-18</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>125880</aws:PerMillion>
                                <aws:PerUser>26.46</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>503000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-19</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>120840</aws:PerMillion>
                                <aws:PerUser>25.15</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>497000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-20</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>86640</aws:PerMillion>
                                <aws:PerUser>17.47</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>461000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-21</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>85550</aws:PerMillion>
                                <aws:PerUser>17.39</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>463000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-22</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>130800</aws:PerMillion>
                                <aws:PerUser>28.02</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>507000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-23</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>128410</aws:PerMillion>
                                <aws:PerUser>27.23</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>501000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-24</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>127350</aws:PerMillion>
                                <aws:PerUser>26.79</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>502000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-25</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>125800</aws:PerMillion>
                                <aws:PerUser>26.35</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>499000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-26</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>123290</aws:PerMillion>
                                <aws:PerUser>25.60</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>493000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-27</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>87840</aws:PerMillion>
                                <aws:PerUser>17.58</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>459000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-28</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>86350</aws:PerMillion>
                                <aws:PerUser>17.45</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>462000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-29</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>130110</aws:PerMillion>
                                <aws:PerUser>27.71</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>500000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-09-30</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>130220</aws:PerMillion>
                                <aws:PerUser>27.42</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>498000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-01</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>131730</aws:PerMillion>
                                <aws:PerUser>27.12</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>500000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-02</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>127800</aws:PerMillion>
                                <aws:PerUser>26.41</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>496000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-03</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>100820</aws:PerMillion>
                                <aws:PerUser>18.61</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>461500</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-04</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>73500</aws:PerMillion>
                                <aws:PerUser>14.07</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>421300</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-05</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>72850</aws:PerMillion>
                                <aws:PerUser>14.09</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>427600</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-06</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>100790</aws:PerMillion>
                                <aws:PerUser>20.06</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>467800</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-07</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>103560</aws:PerMillion>
                                <aws:PerUser>20.10</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>469200</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-08</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>103220</aws:PerMillion>
                                <aws:PerUser>20.12</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>471900</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-09</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>104180</aws:PerMillion>
                                <aws:PerUser>19.82</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>470700</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-10</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>97980</aws:PerMillion>
                                <aws:PerUser>18.43</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>461700</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-11</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>76100</aws:PerMillion>
                                <aws:PerUser>14.42</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>437200</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-12</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>74820</aws:PerMillion>
                                <aws:PerUser>14.26</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>435900</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-13</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>102590</aws:PerMillion>
                                <aws:PerUser>19.99</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>469300</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-14</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>103400</aws:PerMillion>
                                <aws:PerUser>19.04</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>467400</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-15</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>103040</aws:PerMillion>
                                <aws:PerUser>19.01</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>475000</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-16</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>102640</aws:PerMillion>
                                <aws:PerUser>19.49</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>465400</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                        <aws:Data>
                            <aws:Date>2014-10-17</aws:Date>
                            <aws:PageViews>
                                <aws:PerMillion>99020</aws:PerMillion>
                                <aws:PerUser>18.58</aws:PerUser>
                            </aws:PageViews>
                            <aws:Rank>1</aws:Rank>
                            <aws:Reach>
                                <aws:PerMillion>459800</aws:PerMillion>
                            </aws:Reach>
                        </aws:Data>
                    </aws:HistoricalData>
                </aws:TrafficHistory>
            </aws:Alexa>
        </aws:TrafficHistoryResult>
        <aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
            <aws:StatusCode>Success</aws:StatusCode>
        </aws:ResponseStatus>
    </aws:Response>
</aws:TrafficHistoryResponse>

POJO

import java.io.Serializable;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "TrafficHistoryResponse")
public class AlexaResult implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = -3068403572663448394L;


    private AlexaResponse alexaResponse;

    @XmlElement(name="Response")
    public AlexaResponse getAlexaResponse() {
        return alexaResponse;
    }

    public void setAlexaResponse(AlexaResponse alexaResponse) {
        this.alexaResponse = alexaResponse;
    }




}

请帮助我!

1 个答案:

答案 0 :(得分:1)

您缺少名称空间声明。您是手动创建Java类吗? (看起来像这样。)

然后将package-info.java添加@XmlSchema注释注释添加到您的包中。

@javax.xml.bind.annotation.XmlSchema(namespace = "http://alexa.amazonaws.com/doc/2005-10-05/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.acme.foo.myPackage;
相关问题