繁体   English   中英

从单个文件中分离两个XML

[英]Separate two XMLs from single file

我从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>

分离这两个xml并将其放在单独的文件中的最佳方法是什么? 或者我的意思是说我该如何分隔这两个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;

用字符串获取文件。

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

分为2部分,并处理每个xml String。

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

简单的建议-您不能只删除xml标头<?xml version="1.0" encoding="UTF-8"?>并用父标记<globalParentTag>包装整个XML吗?

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

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

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM