java通过url获取页面数据 java解析xml 基金净值接口使用方法
2013-07-16 16:32
1386 查看
package test; import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.URI; import org.apache.commons.httpclient.URIException; import org.apache.commons.httpclient.methods.GetMethod; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; /** * * java根据 url获取 xml 并解析xml获取所需对象 * @author openks * @since 2013-7-16 * 需要添加 org.apache.commons.codec.jar * 和 commons-httpclient.jar * 借用甜菜萧提供的免费查询基金净值接口 */ public class GetFundByFundId { /** * 根据基金id获取该基金信息(含当前单价,基金名称) * @param fid 基金id * @return 基金对象 * @throws */ public static void getFundByFid(String fid) { HttpClient client = new HttpClient(); String ura="http://xiaoservices.sinaapp.com/fund.php?id="+fid; GetMethod get =new GetMethod(); Document doc = null; try { URI uri = new URI(ura,false); get.setURI(uri); get.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); client.executeMethod(get); InputStream inputStream = get.getResponseBodyAsStream(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder db = factory.newDocumentBuilder(); doc = db.parse(inputStream); } catch (URIException e) { e.printStackTrace(); } catch (NullPointerException e) { e.printStackTrace(); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } get.releaseConnection(); NodeList nodes1 = doc.getElementsByTagName("fund"); for (int i = 0; i < nodes1.getLength(); i++) { Node fund = nodes1.item(i); NodeList ns = fund.getChildNodes(); for (int j = 0; j < ns.getLength(); j++){ Node record = ns.item(j); if(record.getNodeName().equals("name")){ System.out.println("基金名称::"+record.getTextContent()); } if(record.getNodeName().equals("value")){ System.out.println("基金净值::"+record.getTextContent()); } } } } public static void main(String[] args) { getFundByFid("070023"); } }
相关文章推荐
- dom4j来解析xml,通过URL获取服务器端返回的字符串,java swing 实现的页面
- 通过JAVA从高德地图URL连接获取json数据 解析并存入数据库的程序举例
- asp通过json调用webservice接口,并获取返回的xml数据及解析
- Java接收Cordys中webservice接口的返回数据并解析xml获取相应节点数据
- 怎么获取pm2.5数据----pm2.5 的获取 java 通过url获取后,得到json 格式,在解析json
- PHP通过curl获取接口URL的数据方法
- Java数据接口编写简单例子,Java Json解析,服务端接口输出Json数据,客户端通过HTTP获取接口Json数据
- JAVA使用jsoup技术实现网站URL解析爬取|爬取网站登陆后页面动态数据
- 黑马程序员--Java基础加强--15.利用反射操作泛型IV【通过反射Method解析泛型方法思路】【通过Method对四种Type子接口类型进行解剖】【使用递归对任意复合泛型类型进行彻底解剖】【个人
- 【转载】Java数据接口编写简单例子,Java Json解析,服务端接口输出Json数据,客户端通过HTTP获取接口Json数据,作者:Jaiky_杰哥
- 豆瓣API使用介绍及通过ajax跨域获取url的json数据的方法
- xml的controller解析,通过接口状态去更新页面状态
- html中通过js获取接口JSON格式数据解析以及跨域问题
- Java创建和解析Json数据方法(四)——json-lib包的使用
- java通过url请求服务器端json数据并解析成想要的数据
- java后台 通过HTTP接口获取json数据
- Android 获取Google Weather API 并通过Xml和JSON解析数据
- IOS数据解析_使用GDataXML解析,多层结构,相同目录的方法
- 今天找到一个好的DOM4J解析XML的方法elementByID。可以通过QName获取属性。记录下~
- Android(java)学习笔记108:通过反射获取私有构造方法并且使用