Я пытаюсь создать 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)
Не могли бы вы сказать мне, что я делаю не так?
Любая помощь приветствуется.