Java 解析RESTful XML响应并在JTable中显示

Java 解析RESTful XML响应并在JTable中显示,java,xml,jaxb,jersey,jax-rs,Java,Xml,Jaxb,Jersey,Jax Rs,我的web服务正在工作,我可以使用下面的代码打印出该服务检索到的XML: resource = client.resource("http://localhost:8080/testProject/rest/items"); ClientResponse response= resource.get(ClientResponse.class); String entity = response.getEntity(String.class); System.out.println(entity)

我的web服务正在工作,我可以使用下面的代码打印出该服务检索到的XML:

resource = client.resource("http://localhost:8080/testProject/rest/items");
ClientResponse response= resource.get(ClientResponse.class);
String entity = response.getEntity(String.class);
System.out.println(entity);
然而,我现在尝试使用这个XML作为JTable的数据提供者,但我不知道如何解析它。下面是我的代码,但无法使用,因为“实体”是字符串

    JAXBContext context = JAXBContext.newInstance(Item.class);
    Unmarshaller um = context.createUnmarshaller();
    Item item = (Item) um.unmarshal(entity);
所以我的问题是

我做错了什么

我是否应该使用.getEntity(String.Class)来执行此操作

有没有更简单的方法将XML响应转换成JTable

谢谢

您可以使用以下方法从字符串创建一个字符串:

 public static Document loadXML(String xmlAsString) {
    DocumentBuilder b = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(xmlAsString));
    return b.parse(is);
}
然后您可以使用该文档并获取填充JTable所需的数据。

您可以使用以下方法从字符串创建一个字符串:

 public static Document loadXML(String xmlAsString) {
    DocumentBuilder b = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(xmlAsString));
    return b.parse(is);
}
然后,您可以使用该文档并获取填充JTable所需的数据。

首先,除非绝对必要,否则不要将xml转换为字符串数据(这对于调试输出很好,但对于实际工作则不行)。我个人没有使用过jersey,但我认为您可以获得比字符串(例如DOM文档)更好的xml格式

但是,如果必须从字符串中获取xml,则可以按如下方式解组:

um.unmarshal(new StringReader(entity));
首先,除非绝对必要,否则不要将xml转换为字符串数据(这对于调试输出很好,但对于实际工作则不行)。我个人没有使用过jersey,但我认为您可以获得比字符串(例如DOM文档)更好的xml格式

但是,如果必须从字符串中获取xml,则可以按如下方式解组:

um.unmarshal(new StringReader(entity));

将响应作为文档阅读

Document xml = wsResponse.asXml();
displayXml(xml);
之后使用下面的代码段进行文本转换,我使用


将响应作为文档阅读

Document xml = wsResponse.asXml();
displayXml(xml);
之后使用下面的代码段进行文本转换,我使用


谢谢你的回复,字符串是我唯一知道的方法。我想知道是否有人对用什么代替字符串有什么建议?不太确定DOM文档,因为我认为在我使用JAX BIf时不需要它们。如果您这样做,Jersey将为您完成所有脏活(前提是您正确地注释了class
)。谢谢你的回复,字符串是我唯一知道的方法。我想知道是否有人对用什么代替字符串有什么建议?不太确定DOM文档,因为我认为在我使用JAX BIf时不需要它们。如果您这样做,Jersey将为您完成所有脏活(前提是您正确地注释了class
)。请参阅。谢谢,您知道与字符串相对应的最佳XML格式吗?谢谢,您知道与字符串相对应的最佳XML格式吗?