首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

运用Dom4j解析String(XML)实现

2012-09-01 
使用Dom4j解析String(XML)实现/*** EndPointUrlMsg urls url keyBB4CCInterfaceService/key* p

使用Dom4j解析String(XML)实现
/**
     * <EndPointUrlMsg> <urls> <url> <key>BB4CCInterfaceService</key>
     * <pass>TRUE</pass>
     * <URL>http://10.137.30.66:9533/bb/ccinterface/wsdl/BB4CCInterfaceService
     * .wsdl</URL> <frondEnd>BB4CCInterfaceService</frondEnd>
     * <backEnd>BB4CCInterfaceService</backEnd>
     * <soap>BB4CCInterfaceService</soap>
     * <timeOut>BB4CCInterfaceService</timeOut> </url> <url>
     * <key>MDSInterfaceService</key> <pass>TRUE</pass>
     * <URL>http://10.137.30.66:
     * 9533/webservice/mds/services/MDSInterfaceService.wsdl</URL>
     * <frondEnd>MDSInterfaceService</frondEnd>
     * <backEnd>MDSInterfaceService</backEnd> <soap>MDSInterfaceService</soap>
     * <timeOut>MDSInterfaceService</timeOut> </url> </urls> </EndPointUrlMsg>
     * @param args
     */

    public static List<EndPointUrlEntity> readXMLMessage(String inputXML)
    {
        List<EndPointUrlEntity> list = new ArrayList<EndPointUrlEntity>();
        if (inputXML != null)
        {
          
                Document documentDOM4j = (Document) string2Dom4J(inputXML);
                if (documentDOM4j != null)
                {
                    list = readXMLMessage(documentDOM4j);

                }
          
        }
        return list;
    }

    public static List<EndPointUrlEntity> readXMLMessage(Document doc)
    {
        System.out.println("new Message:" + doc.asXML());
        List<EndPointUrlEntity> list = new ArrayList<EndPointUrlEntity>();
        EndPointUrlEntity entity;
        Element element=doc.getRootElement();
        Element urls=element.element("urls");
        if(urls==null)
        {
            logger.error("");
    
        }
        List listUrls=urls.elements("url");
        if(listUrls==null)
        {
           
            logger.error("");
        }
       
        for(Object o:listUrls)                
        {
            entity=new EndPointUrlEntity();
            Element el=(Element) o;
            entity.setKey(el.element("key").getText());
            entity.setPass(el.element("pass").getText());
            entity.setUrl(el.element("URL").getText());
            entity.setFrondEnd(el.element("frondEnd").getText());
            entity.setBackEnd(el.element("backEnd").getText());
            entity.setSoap(el.element("soap").getText());
            entity.setTimeOut(el.element("timeOut").getText());
            list.add(entity);
         
        }

        return list;
    }

 

    /**
     * @功能说明:将传入的字符串转换成 dom4j Document
     * @param message 需要转化的字符串,不能为空
     * @return org.dom4j.Document
     */
    public static org.dom4j.Document string2Dom4J(String message)
    {
        SAXReader reader = new SAXReader();
        org.dom4j.Document documentDOM4J = null;
        try
        {
            documentDOM4J = reader.read(new ByteArrayInputStream(message
                    .getBytes()));
        }
        catch (Exception e)
        {
            logger.error("Parse message error:" + message, e);
        }
        return documentDOM4J;
    }

热点排行