将单个文件中的两个XML分开

时间:2015-07-16 11:19:25

标签: java xml web-services xml-parsing

我正在以XML格式从Web服务获得响应,它包含Web服务返回的单个XML中的两种不同的XML响应。 示例:

<?xml version="1.0" encoding="UTF-8"?>
<transaction type>
...
...
</transaction type>

<?xml version="1.0" encoding="UTF-8"?>
<verification_statement>
...
...
</verification_statement>

将两个xmls分开并将其放在单独的文件中的最佳方法是什么?或者我的意思是说我如何分离这两个XML? 我在JAVA写过Web服务客户端。

获得回复的代码:

 int status = httpConn.getResponseCode();
        if (status == HttpURLConnection.HTTP_OK) {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    httpConn.getInputStream()));
            String line = null;
            while ((line = reader.readLine()) != null) {
                response.add(line);
            }
            reader.close();
            httpConn.disconnect();
        } else {
            throw new IOException("Server returned non-OK status: " + status);
        }

        return response;

2 个答案:

答案 0 :(得分:1)

以字符串形式获取文件。

使用indexOf搜索第一个和第二个&lt; ?xml version =“1.0”,

分为两部分,并处理每个xml字符串。

答案 1 :(得分:0)

我希望你的代码库中有一些XML解析机制。

简单的建议 - 您是否只需删除xml标头float:right并使用父标记<?xml version="1.0" encoding="UTF-8"?>包装整个XML?

这样它就会变成一个大的XML。然后,使用您喜欢的XML解析器并获取节点。第一个节点将是第一个XML,第二个节点将是第二个XML。

如果XML格式错误,您无论如何也无法单独解析。 (即使一个XML格式不正确,你也无法解析这两个XML - 这就是反面。)。

感谢。