Я пытаюсь разобраться, как демаршировать и XML-документ в документ Java.
Верхняя часть XML-документа выглядит следующим образом
<xs:myData xmlns:xs="http://www.example.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com example.xsd ">
Существует файл схемы, верхняя часть которого выглядит следующим образом:
<schema targetNamespace="http://www.example.com"
elementFormDefault="qualified"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.example.com">
Я хотел бы демонтировать XML-документ с помощью Spring / JaxB и в конечном итоге преобразовать его в объект JPA. Я не уверен, что делать, поэтому я искал примеры на Google и придумал это http://thoughtforge.net/610/marshalling-xml-with-spring-ws-and-jaxb/
Я понимаю большинство из них, за исключением того, как или где используется схема.
Я видел другие примеры, где схема указана явно, то есть
SchemaFactory schemaFac = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema sysConfigSchema = schemaFac.newSchema(
new File("example.xsd"));
unmarshaller.setSchema(sysConfigSchema);
RootElement root = (RootElement)unmarshaller.unmarshal(
new File("example1.xml"));
- Как схема, показанная в первой ссылке, используется для проверки XML-документа?
- Есть ли недостатки в использовании Spring jaxb2Marshaller по сравнению с прямым использованием JAXB?
- Каков эффект от наличия пространства имен рядом с аннотацией XmlElement? (См. Класс «Человек»)
Буду признателен за дополнительные примеры, показывающие Spring / REST с демаршаллингом с проверкой схемы
Спасибо