【发布时间】:2011-10-10 20:09:32
【问题描述】:
从 XML 文件中获取(模型)对象的步骤是什么?
鉴于 Spring 3 中的 XSD 和 JAXB 依赖项,使用 Java 1.6 使用 Maven 构建。
注意:我是 Spring 和该技术的新手。
我尝试了什么
我放了那个依赖(我可以使用更新的版本吗):
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-oxm-tiger</artifactId>
<version>1.5.4</version>
</dependency>
还有那个
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<executions>
<execution>
<id>generate-oxm</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/META-INF/xsd</schemaDirectory>
<generatePackage>com.aaa.xjc</generatePackage>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
到我的 POM 文件。
我做了一个这样的课程:
@Configuration
public class XmlAdapter {
@Autowired
private ResourcePatternResolver resourceResolver;
@Bean
public Jaxb2Marshaller oxmMarshaller() throws IOException {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.aaa.xjc");
marshaller.setSchemas(resourceResolver.getResources("classpath:/META-INF/xsd/*.xsd"));
return marshaller;
}
}
问题
其实我不明白那个上下文路径以及如何调用那个oxmMarshaller方法。
如何使用我现有的 XSD 来验证它们? 我根据我之前的问题尝试过:Xml to Object java Spring 3
【问题讨论】:
-
您有什么具体问题吗?你试过什么?
-
春天与它没有太大关系。只需阅读 JAXB 教程
-
@Perception 我会解释我的尝试。