解析对对象Java的文本响应

时间:2019-07-29 13:49:58

标签: java xml rest web-services

我已经用完了其余的Web服务,并且得到了文本格式的响应,我想将此响应转换为java对象,以便执行一些逻辑。

不幸的是,我试图将文本解析为XML,这是行不通的。

来自Web服务的响应:

<html>
<title>rest response</title>
<body>
<a href="http://Xwebservice-urlXXX/XY111NWA1">XY111NWA1</a>
<a href="http://Xwebservice-urlXXX/XY112NWA1">XY112NWA1</a>
<a href="http://Xwebservice-urlXXX/XY113NWA1">XY113NWA1</a>
<a href="http://Xwebservice-urlXXX/XY114NWA1">XY114NWA1</a>
<a href="http://Xwebservice-urlXXX/XY115NWA1">XY115NWA1</a>
<a href="http://Xwebservice-urlXXX/XY116NWA1">XY116NWA1</a>
<a href="http://Xwebservice-urlXXX/XY117NWA1">XY117NWA1</a>
<a href="http://Xwebservice-urlXXX/XY118NWA1">XY118NWA1</a>
<a href="http://Xwebservice-urlXXX/XY119NWA1">XY119NWA1</a>
</body>
</html>

我希望输出为XML格式,因此可以将其解析为JAVA对象,或者 获取标签之间的日期,结果应为如下所示的Java列表:

XY111NWA1
XY112NWA1
XY113NWA1
XY114NWA1
XY115NWA1
XY116NWA1
XY117NWA1
XY118NWA1
XY119NWA1

1 个答案:

答案 0 :(得分:1)

这不是REST响应(不是JSON或响应格式的XML),因此,如果您需要解析HTML页面(或类似html的响应)。

方法1:我宁愿推荐诸如jsoup之类的工具:

这样,您可以从html响应/文件中提取任何节点/值/属性。

方法2 ,您可以尝试使用更通用的SAX或JAXB解析器来解析xml(即使它是HTML),就像https://www.mkyong.com/java/jaxb-hello-world-example/中一样。但这就是您的合同中有一些合同。从我看来,这不是最好的方法。

相关链接:Which is the best library for XML parsing in java