`
bdk82924
  • 浏览: 569745 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Jav解析soap的xml

 
阅读更多

解析xml

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

import org.dom4j.xpath.DefaultXPath;

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
	<soapenv:Body>
		<n:X1Response xmlns:n="http://vp.xx.com" xmlns:n0="http://vp.xx.com/xsd">
			<n:return>
				<n0:vPXResult>
					<n0:taskid>11</n0:taskid>
					<n0:vPResult>
						<n0:flag>0</n0:flag>
					</n0:vPResult>
				</n0:vPXResult>
			</n:return>
		</n:X1Response>
	</soapenv:Body>
</soapenv:Envelope>

 

 

解析代码;

 

 /**
     * 解析 返回的消息体   //后面修改为通用方法 
     * 
     * parseSoapXml:(这里用一句话描述这个方法的作用). <br/>  
     *  
     * @author   
     * @param xmlStr
     * @return
     * @throws Exception  
     * @since JDK 1.6
     * @Date:2015-4-8下午8:05:31
     */
    private boolean parseSoapXml(String xmlStr) throws Exception
    {

        Map<String, String> map = new HashMap<String, String>();

        SAXReader saxReader = new SAXReader();

        Document document = DocumentHelper.parseText(xmlStr);

        DefaultXPath xpath = new DefaultXPath("//n:return");
        xpath.setNamespaceURIs(Collections.singletonMap("n", "http://vp.xx.com"));

        List list = xpath.selectNodes(document);
        Iterator iterator = list.iterator();
        if (iterator.hasNext())
        {
            Element node = (Element) iterator.next();

            List<Element> l = node.elements();

            Element flagNode = node.element("vPX1Result").element("vPXResult").element("flag");
            if (StringUtils.equals("0", flagNode.getText()))
            {
                map.put("flag", flagNode.getText());
                return true;
            }
            else
            {
                return false;
            }
			
           // Element portNode = node.element("port");
            

            //map.put("port", portNode.getText());
  

        }

        return false;

    }

 

分享到:
评论

相关推荐

    java+soap+webservice 调用模拟

    通过阅读提供的"java-soap-webservice"文档,你可以进一步了解具体的实现步骤,包括如何设置项目、配置JAX-WS、生成客户端代码、编写调用服务的代码,以及如何解析响应。实践中,不断动手操作和调试是掌握这一技术的...

    100 Recipes for Programming Jav - Jamie Munro

    - **解释**: SOAP是一种基于XML的协议,用于交换结构化的信息。本食谱提供了一个完整的SOAP客户端示例,展示了如何使用Java代码调用Web服务。 ##### 食谱12: 如何从Java类调用SOAP Web服务 - **知识点**: SOAP...

    java axis调用第三方webservice程序demo

    接收到的响应通常为SOAP格式的XML数据,需要解析后才能进一步使用。 三、Demo实例 以下是一个简单的Java Axis调用第三方Webservice的示例: ```java import org.apache.axis.client.Service; public class ...

    Java面试宝典2012版

    4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 ...

    Java面试宝典2012新版

    4、编程用JAVA解析XML的方式. 115 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? 117 七. 流行的框架与新技术 117 1、谈谈你对Struts的理解。 117 2、谈谈你对Hibernate的理解。 118 ...

Global site tag (gtag.js) - Google Analytics