`

以XML形式访问远程接口获得数据

    博客分类:
  • java
阅读更多
JDK提供了供我们访问url获得数据的类,核心类主要是URL,URLConnection等(详见JDK API)
下面以XML形式实现两者通信
Servlet端发送信息:
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		resp.setCharacterEncoding("utf-8");
		PrintWriter print= resp.getWriter();
		String s = "<?xml version='1.0' encoding='utf-8'?>
                                    <web-shhzs>
                                       <return-param> 
                                          <return-no>0</return-no>
                                          <return-text>执行正常</return-text>
                                        </return-param>
                                        <ptfp>
                                          <kpxsje>123456789</kpxsje>
                                        </ptfp>
                                    </web-shhzs>";
		print.write(s);
		print.flush();
		print.close();
	}

获得访问返回信息,以字符串返回:
	public static String getXML(String sh,String type,String date) throws IOException{
		StringBuffer urlStr = new StringBuffer("http://localhost:8888/Hello/getDom.do");
//		urlStr.append("?param1=").append(sh)
//			  .append("&param2=").append(type)
//			  .append("&param3=").append(date);
		URL url = new URL(urlStr.toString());
		URLConnection URLconnection = url.openConnection();
		HttpURLConnection httpConnection = (HttpURLConnection)URLconnection;
		int responseCode = httpConnection.getResponseCode();
//		FileOutputStream fos=new FileOutputStream("d://line.txt",true);   
//	    DataOutputStream out=new DataOutputStream(fos); 
	    StringBuffer totalXML = new StringBuffer("");
		if(responseCode == HttpURLConnection.HTTP_OK){
			InputStream httpStream = httpConnection.getInputStream();
			BufferedReader bufferReader = new BufferedReader(new InputStreamReader(httpStream));
			String currLine = "";
			while((currLine=bufferReader.readLine())!=null){
//				out.writeBytes(new   String(currLine.getBytes(),"utf-8"));   
//	            out.writeBytes("\r\n");   
				totalXML.append(currLine);
			}
		}
//		fos.close();   
//      out.close();   
		return totalXML.toString();
	}

用DOM4J解析XML获得相应信息封装为Map
	public static Map getFpxx(String text){
		
		Map map = new HashMap();
		Document document;
		try {
                  //dom4j解析字符串为xml
		document = DocumentHelper.parseText(text);
			Element root = document.getRootElement();
			Element e1 = root.element("return-param");
			if(null!=e1){
			     if(null!=e1){
			    	 String state = e1.element("return-text").getStringValue();
			    	 System.out.println(state);
			    	 map.put("state", state);
			    	 
			     }
			     Element e2 = root.element("ptfp");
			     if(null!=e2){
			    	 String kpxsje = e2.element("kpxsje").getStringValue();
			    	 System.out.println(kpxsje);
			    	 map.put("result", kpxsje);
			     }
		     }
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			logger.error("字符串转换为xml时出错");
		}
		return map;
	}
分享到:
评论
1 楼 suifeng 2009-01-15  
good!
  

相关推荐

    oracle利用UTL-HTTP包访问SOAP、HTTP接口并通过管道函数解析xml响应文件用游标以表方式输出

    2. **测试管道函数**:使用模拟的 XML 文档作为输入,测试管道函数是否能正确解析数据并以表格形式输出。 ### 总结 本文档详细介绍了如何在 Oracle 数据库中使用 UTL_HTTP 包访问 SOAP 或 HTTP 接口,并通过创建...

    读取PLC寄存器,读写XML文件

    在IT行业中,PLC(可编程逻辑控制器)和XML(可扩展标记语言)是两种非常...反之,也可以从XML文件中读取数据并写入PLC,实现远程控制或自动化任务。这样的系统在制造业、物联网和工业4.0应用中具有广泛的应用前景。

    学生信息查询服务XML版

    在“学生信息查询服务XML版”中,学生信息是以XML文件的形式保存的,这些文件通常位于WebSite1项目下的App_Data目录。App_Data是一个常见的.NET Framework应用程序存放数据文件的目录,它可以包含数据库文件、文本...

    用友U8_EAI数据接口常见问题.doc

    ### 用友U8_EAI数据接口常见问题详解 #### 1. CRM与U8接口,如何控制只从U8导入当前时间以后的数据? - **问题背景**:在实际业务场景中,通常需要确保从用友U8系统同步至CRM系统的数据是最新的,即只同步在特定...

    C#利用post访问接口

    接着,我们创建了一个FormUrlEncodedContent对象,其中包含了要发送的数据,这些数据将以键值对的形式发送。PostAsync方法用于发送POST请求,第一个参数是API的端点路径,第二个参数是我们要发送的内容。最后,我们...

    远程查询数据的一个技术方案

    - 目标是依据过往对外数据查询的需求,形成一套社保数据查询平台的技术方案,包括整体架构、接口数据流图和具体实施方案。 - 范围仅限于社保对外数据查询平台的需求,不涉及其他系统或业务。 2. **总体架构**: ...

    Java Xml 编程指南

    8. **XML与SOAP、RESTful服务**:XML是Web服务通信的基础,SOAP(简单对象访问协议)使用XML消息进行远程调用,而RESTful服务则常通过XML作为传输数据的载体。 9. **Spring框架中的XML配置**:Spring框架允许通过...

    c# 基于反射、自定义特性、Web Services、xml序列化的应用实例 !

    例如,反射可以用来动态地加载Web服务的接口,自定义特性可以用于装饰服务方法以提供元数据信息,XML序列化则确保数据以标准格式在网络间传递。在"DBWebService"的上下文中,这可能是这样的流程: - 客户端通过反射...

    企业数据接口管理规范V1.0.pdf

    4. **WebService**:WebService是一种跨平台、跨系统的远程调用技术,基于XML进行数据交换,简化了系统间的通信,降低了技术要求和操作平台限制。 5. **XML(可扩展标记语言)**:XML是一种用于表示结构化信息的...

    用JAVA和XML构建分布式系统

    Java程序可以通过DOM API访问XML数据,XML解析器则负责生成XML文档的DOM表示。 图1展示了一个处理XML文档的Java分布式应用模型。在这个模型中,数据可以从关系数据库等数据源获取。Java代码负责处理这些数据,并...

    (15)silverlight数据源对象的访问

    `IValueConverter`接口则允许我们将数据源的值转换为适合UI显示的形式,或者将用户界面的输入转换回数据源的格式。同时,`ValidationSummary`控件可以帮助我们集中显示验证错误,提供更好的用户体验。 总的来说,...

    Java中关于XML的API

    这种绑定允许开发人员以面向对象的方式处理XML数据,提高了开发效率和代码的可维护性。 - **双向映射**:JAXB支持从Java对象到XML文档的序列化(marshalling),以及从XML文档到Java对象的反序列化(unmarshalling...

    XML解析在符合SCORM规范课件设计中的应用

    DOM(Document Object Model,文档对象模型)是一种处理XML文件的接口,它提供了一种将XML文档表示为树形结构的方法,使得开发人员可以方便地访问、修改和操作文档中的元素。DOM接口支持多种编程语言,如Java、C#等...

    cxf框架的webservice,传递json,xml

    CXF框架提供了基于Java的接口来定义和实现WebService,这些接口基于JAX-WS(Java API for XML Web Services)标准。开发者可以通过CXF快速地创建服务端点和服务客户端,实现服务的发布和调用。 2. **XML处理** 在...

    Xml WebService完全实例解析.docx

    - 数据交换仅限于序列化后的数据,最常见的形式是XML,因为XML具有良好的可读性和结构化特性,适合跨平台的数据交换。 2. **XML Web Service的实例——分布式课件搜索系统** - 在这个实例中,我们有一个名为`...

    Python-CSDN爬虫远程服务器MySQL存储数据可视化

    9. **数据可视化**:项目中提到的“数据可视化”可能是使用Python的matplotlib、seaborn或者更专业的数据可视化库如Tableau,将抓取和存储的数据以图表的形式展示出来,帮助分析和理解数据。 10. **版本控制**:...

    GIS与业务系统接口设计[定义].pdf

    BlazeDS以servlet的形式在Java应用服务器上运行,支持标准的Java网络应用。在服务器端,BlazeDS提供了三种核心服务:远程调用、访问代理和消息服务,同时还允许开发者自定义服务。客户端则通过RemoteObject、...

    互联网应用系统间接口技术的应用研究.pdf

    API是应用程序接口的简称,它规定了应用程序如何请求服务以及服务如何响应请求,而Web服务接口通常采用可扩展标记语言(XML)或简单对象访问协议(SOAP)等技术实现不同系统之间的通信。 在接口的实现方式上,常见...

    基于Android系统的数据存储访问机制研究.pdf

    当需要存储或访问远程数据时,可以使用网络存储。Android提供了HttpURLConnection、HttpClient、OkHttp等网络库进行HTTP通信,支持JSON、XML等数据格式的解析和序列化。此外,还可以使用Google的Firebase Cloud ...

Global site tag (gtag.js) - Google Analytics