package cn.xuediit.dom4jWS; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; import org.w3c.dom.DOMException; /***要导入dom4j-1.6.1.jar * DomXMLString.java(一般而言,只要NETDATA_URL地址访问正常,本程序即可正常运行) * @author xuechong * @time 6/12/2010 11:03 * @src http://eric-619.iteye.com/blog/693152 * @title:dom4j方式访问远程WebService返回xml形式的String类型数据 * 根据url来定,浏览器中能得到什么,java程序这里就能输出什么 */ public class Dom4jToXML{ //远程WebService接口url private static String NETDATA_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince"; public static void main(String[] args) throws Exception{ Document document = getProvinceDocument(NETDATA_URL); if(document != null){ System.out.println(document.asXML()); } } /*返回一个Document对象*/ public static Document getProvinceDocument(String netXMLDataURL){ Document document = null; SAXReader reader = new SAXReader(); Map<String, String> map = new HashMap<String, String>(); reader.getDocumentFactory().setXPathNamespaceURIs(map); try{ InputStream inputStream = getSoapInputStream(netXMLDataURL); //具体webService相关 document = reader.read(inputStream); inputStream.close(); }catch(DOMException e){ e.printStackTrace(); return null; }catch(IOException e){ e.printStackTrace(); return null; }catch (DocumentException e){ e.printStackTrace(); } return document; } /*返回InputStream对象*/ public static InputStream getSoapInputStream(String url){ InputStream inputStream = null; try{ URL urlObj = new URL(url); URLConnection urlConn = urlObj.openConnection(); /*参数具体WebService基于http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?op=getRegionProvince*/ urlConn.setRequestProperty("Host", "webservice.webxml.com.cn"); urlConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8"); urlConn.setRequestProperty("SOAPAction", "http://WebXml.com.cn/getRegionProvince"); urlConn.connect(); inputStream = urlConn.getInputStream(); }catch(MalformedURLException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } return inputStream; } }
详细解决方案
dom4j模式访问远程WebService返回xml形式的String类型数据实例
热度:147 发布时间:2012-10-20 14:12:47.0
相关解决方案
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- 关于SSH整合的解析映射文件的异常Caused by: org.dom4j.DocumentException
- java类型异常java.lang.Integer cannot be cast to java.lang.String
- String.matches(String regex)的有关问题
- xfire错误:For input string: ""
- String 去除乱码的有关问题,help
- java webservice 客户端调用服务器端同时发出多条请求~求高手解决思路
- hibernate映射文件有关自增类型,String,精度的有关问题
- webservice 赋值有关问题
- java.lang.NumberFormatException: For input string: "1>"解决思路
- jsp页面post到servlet发生异常:java.lang.NoSuchMethodError: bean.User.<init>(Ljava/lang/String;Ljava/lang/Str
- 在JSP中,List<String> str_list这个集合如何遍历呢
- 谁帮小弟我看下Source not found for ResponseFacade.sendRedirect(String) line: 483
- tomcat启动出现Caused by: java.lang.StringIndexOutOfBoundsException: String index out解决方法
- cxf webservice 返回json字符串时,数值型的字符串双引号不见了
- Enumeration<String> 和 Parameter,该如何处理
- java.lang.NumberFormatException: For input string: ""报错,求大家帮助,该如何处理
- s:iterator 迭代 按动态名取List<Map<String,object>>解决方案
- java.lang.NumberFormatException: For input string: "previews"解决办法
- jButton.setToolTipText(String)小疑点
- jButton.setToolTipText(String);该怎么处理
- J2ME中有没有lastIndexOf(String str, int fromIndex)解决方案
- webservice…解决方法
- "kkkwsss"string.replace('w','');为什么会出错?该如何解决
- 接收服务器字符串长的时候,messg=new String(ss,"UTF-8");无法转换,该如何处理
- String 占多少象素,该如何处理
- 形参类型是 int ,按理只能接受 数值 或 char ,为什么下面传和个 String 也行?解决办法
- String
- 怎样用android重写j2me,player里的createPlayer(InputStream stream, String type)解决方案