欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java訪問WebService返回XML數(shù)據(jù)的方法

 更新時間:2015年06月08日 17:01:02   作者:liuzx32  
這篇文章主要介紹了Java訪問WebService返回XML數(shù)據(jù)的方法,涉及java操作WebService的相關技巧,需要的朋友可以參考下

本文實例講述了Java訪問WebService返回XML數(shù)據(jù)的方法。分享給大家供大家參考。具體如下:

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
/***
* @author xuechong
* 6/11/2010 16:58
* DomXMLString.java
* 概述:純java方式訪問遠程WebService接口返回的xml格式的數(shù)據(jù)保存在本地
*/
public class DomXMLString{
private static String SERVICES_HOST = "www.webxml.com.cn";
//遠程WebService接口url
private static String NETDATA_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince";
//訪問遠程WebService接口返回的xml格式的數(shù)據(jù)保存在本地的絕對路徑
private static String LOCAL_PC_SAVEFILE_URL = "E:dataTest/netDataToLocalFile.xml";
private DomXMLString(){}
public static void main(String[] args) throws Exception{
Document document = getProvinceCode(NETDATA_URL);
helloOK(document, LOCAL_PC_SAVEFILE_URL);
}
/*返回一個Document對象*/
public static Document getProvinceCode(String netXMLDataURL){
Document document = null;
DocumentBuilderFactory documentBF = DocumentBuilderFactory.newInstance();
documentBF.setNamespaceAware(true);
try{
DocumentBuilder documentB = documentBF.newDocumentBuilder();
InputStream inputStream = getSoapInputStream(netXMLDataURL);
//具體webService相關
document = documentB.parse(inputStream);
inputStream.close();
}catch(DOMException e){
e.printStackTrace();
return null;
}catch(ParserConfigurationException e){
e.printStackTrace();
return null;
}catch (SAXException e){
e.printStackTrace();
return null;
}catch(IOException e){
e.printStackTrace();
return null;
}
return document;
}
/*返回InputStream對象*/
public static InputStream getSoapInputStream(String url){
InputStream inputStream = null;
try{
URL urlObj = new URL(url);
URLConnection urlConn = urlObj.openConnection();
urlConn.setRequestProperty("Host", SERVICES_HOST);
//具體webService相關
urlConn.connect();
inputStream = urlConn.getInputStream();
}catch(MalformedURLException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
return inputStream;
}
/*訪問遠程(WebService)xml數(shù)據(jù)后返回的xml格式字符串并生成為本地文件*/
public static void helloOK(Document document, String savaFileURL){
TransformerFactory transF = TransformerFactory.newInstance();
try{
Transformer transformer = transF.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "YES");
PrintWriter pw = new PrintWriter(new FileOutputStream(savaFileURL));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
System.out.println("生成xml文件成功!");
}catch(TransformerConfigurationException e){
System.out.println(e.getMessage());
}catch(IllegalArgumentException e){
System.out.println(e.getMessage());
}catch(FileNotFoundException e){
System.out.println(e.getMessage());
}catch(TransformerException e){
System.out.println(e.getMessage());
}
}
}

希望本文所述對大家的java程序設計有所幫助。

相關文章

  • JAVA深入探究之Method的Invoke方法

    JAVA深入探究之Method的Invoke方法

    這篇文章主要給大家介紹了關于JAVA深入探究之Method的Invoke方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • SpringBoot+MyBatis-Plus實現(xiàn)分頁功能

    SpringBoot+MyBatis-Plus實現(xiàn)分頁功能

    在SpringBoot項目中,結合MyBatis-Plus(簡稱MP)可以非常方便地實現(xiàn)分頁功能,MP為開發(fā)者提供了分頁插件PaginationInterceptor,只需簡單配置即可使用,本文給大家介紹了SpringBoot+MyBatis-Plus實現(xiàn)分頁功能,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • Java并發(fā)編程之StampedLock鎖介紹

    Java并發(fā)編程之StampedLock鎖介紹

    這篇文章主要介紹了Java并發(fā)編程之StampedLock鎖,StampedLock是并發(fā)包里面JDK8版本新增的一個鎖,下文更多相關內容需要的小伙伴可以參考一下
    2022-04-04
  • SpringBoot 使用Mongo的GridFs實現(xiàn)分布式文件存儲操作

    SpringBoot 使用Mongo的GridFs實現(xiàn)分布式文件存儲操作

    這篇文章主要介紹了Spring Boot 使用Mongo的GridFs實現(xiàn)分布式文件存儲操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java實現(xiàn)PDF導出功能的示例代碼

    Java實現(xiàn)PDF導出功能的示例代碼

    這篇文章主要為大家詳細介紹了Java實現(xiàn)PDF導出功能的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解下
    2023-09-09
  • 解決SpringBoot框架因post數(shù)據(jù)量過大沒反應問題(踩坑)

    解決SpringBoot框架因post數(shù)據(jù)量過大沒反應問題(踩坑)

    這篇文章主要介紹了解決SpringBoot框架因post數(shù)據(jù)量過大沒反應問題(踩坑),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java多線程 ThreadLocal原理解析

    Java多線程 ThreadLocal原理解析

    這篇文章主要介紹了Java多線程 ThreadLocal原理,ThreadLoal 變量,線程局部變量,同一個 ThreadLocal 所包含的對象,在不同的 Thread 中有不同的副本,下面文章也是圍繞Java多線程 ThreadLocal展開內容,需要的朋友可以參考一下
    2021-10-10
  • 妙解Java中的回調機制(CallBack)

    妙解Java中的回調機制(CallBack)

    本文以最簡明扼要的例子將Java的回調機制介紹給大家,感興趣的朋友可以參考一下。
    2016-07-07
  • Java OpenCV圖像處理之背景切換

    Java OpenCV圖像處理之背景切換

    這篇文章主要介紹了利用Java OpenCV實現(xiàn)圖像背景的切換,文中的示例代碼講解詳細。對我們學習OpenCV有一定幫助,感興趣的同學可以了解一下
    2022-01-01
  • SpringMVC中處理靜態(tài)資源的過程詳解

    SpringMVC中處理靜態(tài)資源的過程詳解

    本文給大家介紹SpringMVC中處理靜態(tài)資源的過程,結合示例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11

最新評論