我需要将一个 XML 文件从一个应用程序输出到另一个应用程序,但我不想在某个地方编写这个 XML,然后在另一个应用程序上读取这个文件。
两者都是 Java 应用程序并且(到目前为止!)我正在使用 XStream。
我该怎么做?
最佳答案
注意:我是 EclipseLink JAXB (MOXy) JAXB (JSR-222) 的领导和成员专家组。
JAXB (JSR-222)是 Java API for RESTful Web Services (JAX-RS) 的默认绑定(bind)层.这意味着您只需创建一个返回 POJO 的服务,所有与 XML 之间的转换都会为您处理。
下面是一个 JAX-RS 服务示例,它使用 JPA 查找 Customer
的实例并将其返回到 XML。 JAX-RS 实现将利用 JAXB 自动执行实际转换。
package org.example;
import java.util.List;
import javax.ejb.*;
import javax.persistence.*;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@Stateless
@LocalBean
@Path("/customers")
public class CustomerService {
@PersistenceContext(unitName="CustomerService",
type=PersistenceContextType.TRANSACTION)
EntityManager entityManager;
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("{id}")
public Customer read(@PathParam("id") long id) {
return entityManager.find(Customer.class, id);
}
}
完整示例
关于java - 如何将 XML 文件输出到 Java 中的 REST Web 服务,以便另一个应用程序可以使用此 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14456901/