Java解析Xml格式的响应信息

Posted 不负青春i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java解析Xml格式的响应信息相关的知识,希望对你有一定的参考价值。

1.请求/响应代码

    public List<ZxAjxxListItem> getZxAjxxList() {
        
        List<ZxAjxxListItem> r = null;
        if (login()) {
            HttpGet get = null;
            try {
          // 请求资源地址 String url
=clientAccountAndPassword.getAjcxGridUrl(); get = new HttpGet(url);
          // 响应信息 HttpResponse response
= httpClient.execute(get); if (response.getStatusLine().getStatusCode() == 200) {
            // 响应资源内容 String responseXml
= EntityUtils.toString(response.getEntity(), "UTF-8"); r = getXmltoZxAjxxListItem(responseXml); } } catch (Exception e) { logger.error(e.getMessage(), e); } finally { if (get != null) { get.abort(); } } } return r; }

 

2.解析响应xml格式信息代码

    private List<ZxAjxxListItem> getXmltoZxAjxxListItem(String xmlString) {
        if(StringUtils.isBlank(xmlString)) return null;
        Document doc = null;
        List<ZxAjxxListItem> zxAjxxListItem = null;
        try {
            // 将字符串转为XML
            doc = DocumentHelper.parseText(xmlString);
            // 获取根节点
            Element rootElt = doc.getRootElement();
            // 获取row节点
            zxAjxxListItem = new ArrayList<ZxAjxxListItem>();
            Iterator rowList = rootElt.elementIterator("row");
            ZxAjxxListItem bean = null;
            while (rowList.hasNext()) {
                bean = new ZxAjxxListItem();
                Element row = (Element) rowList.next();
                bean .setAhdm(row.attributeValue("id"));
                // 获取cell节点
                Iterator cellList = row.elementIterator("cell");
                List<String> strlist = new ArrayList<String>();
                while (cellList.hasNext()) {
                    Element cell = (Element) cellList.next();
                    strlist.add(cell.getText());
                }
                bean.setAjzt(strlist.get(2));
                bean.setXlabh(strlist.get(3));
                bean.setAh(strlist.get(4));
                bean.setDsr(strlist.get(5));
                bean.setAy(strlist.get(6));
                zxAjxxListItem.add(bean);
            }
            return zxAjxxListItem;
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return zxAjxxListItem;
    }

以上是关于Java解析Xml格式的响应信息的主要内容,如果未能解决你的问题,请参考以下文章

java解析xml的几种方式哪种最好?

AJAX 响应:数据(JSON、XML)还是 HTML 片段? [关闭]

java与JSON

在java中解析xml有哪几种方法

java解析xml的几种方式哪种最好?

T-SQL 以表格格式解析 XML 响应