как использовать jaxb для создания объектов Java

Я пытаюсь создать java объекты из файла xml. Я использую jaxb (немаршалинг) для создания объектов java. Я получаю ошибки javax.xml.bind.UnmarshalException: неожиданный элемент (uri: "http://www.w3.org/2001/ XMLSchema ", local:" schema "). Ожидаемые элементы:

Я немного погуглил и выяснил, что для этого нам нужен файл xsd ... поэтому я преобразовал его в xsd с помощью инструмента apache inst2xsd. Я использую следующие java-код:

import java.io.FileNotFoundException;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.UnmarshalException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="report")
public class Report 
{
    public static void main(String [] args) throws FileNotFoundException
    {
        try
        {
            JAXBContext jc = JAXBContext.newInstance(new Class[] {com.bcbsks.testjb.Report.class});             
            Unmarshaller um = jc.createUnmarshaller();          
            Report myJAXBObject = (Report)um.unmarshal(new java.io.FileInputStream("report.xsd"));
        } 
        catch( UnmarshalException ue ) 
        {    
            ue.printStackTrace(); 
        } 
        catch( JAXBException je ) 
        { 
            je.printStackTrace(); 
        } 
    }
}

Но я получаю следующее: из-за ошибки:

javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.w3.org/2001/XMLSchema", local:"schema"). Expected elements are  (none)

Не могли бы вы сказать мне, что я делаю не так?

Любая помощь приветствуется.

5
задан Aravind R. Yarram 26 January 2012 в 02:15
поделиться