0

これは、xml ファイルを非整列化する Java メソッドです。

このエラーに関するいくつかの問題を探しましたが、答えが見つかりませんでした。

    @WebMethod(operationName = "List_Flights")
    public List<FlightAvailableOffers> List_Flights() {//ArrayList<String[]>

       FlightAvailableOffers flighte = new FlightAvailableOffers();
        Flights flight = new Flights();
        List<FlightAvailableOffers> bookingAvailFlights = flight.getOffersBooking();
        try {

        File file = new File("Flight_Bookings.xml");

        JAXBContext jaxbContext = JAXBContext.newInstance(FlightAvailableOffers.class);
        Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
        flight = (Flights)jaxbUnmarshaller.unmarshal(file);
                //List<FlightAvailableOffers> bookingAvailFlights = flight.getOffersBooking();

            FlightAvailableOffers booking = new FlightAvailableOffers();

            Iterator itr = bookingAvailFlights.iterator();    
            while (itr.hasNext()) {
                booking = (FlightAvailableOffers) itr.next();
                bookingAvailFlights.add(booking);
            }

      } catch (JAXBException e) {
              System.out.println(e.getCause());
      }


        return bookingAvailFlights;

    }   
}

しかし、これを実行すると、このメッセージが表示されます

「org.xml.sax.SAXParseException: jaxbUnmarshaller でファイルの終わりが早すぎる」

誰でもこれを取り除くのを手伝ってもらえますか?

4

1 に答える 1

0

flightinfo.xsd にエラーがあります。tns:名前空間はドキュメントで宣言されています。

記録された理由: UndeclaredPrefix: 'tns:FlightAvailableOffers' を QName として解決できません: プレフィックス 'tns' が宣言されていません

ヒント:

オンライン ツールを使用して、xsd に対して xml を検証できます。

以下のものをお勧めします.. XMLスキーマドキュメントに対するXML検証

于 2013-01-23T13:43:03.233 に答える