gpt4 book ai didi

Java Xml 到对象?

转载 作者:行者123 更新时间:2023-11-30 04:58:28 25 4
gpt4 key购买 nike

从 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 文件。

我做了这样的类(class):

@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

最佳答案

您首先需要运行 xjc在 XSD 上生成 JaxB 类。然后,您需要创建这些 JaxB 对象,最好使用生成的 ObjectFactory。此时,您可以将该对象发送到 JaxB2Marshaller 。如果您想在 Web 应用程序中作为响应返回,可以使用 MarshallingView .

就 Maven 依赖项而言,所有 JaxB 内容都将包含在 Java 6 中。您将需要正确管理 Spring 依赖项。至少,您需要 Spring OXM。

关于Java Xml 到对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com