作者PTTCEO (批踢踢首席执行长)
看板java
标题[J2SE] 请问从url读取xml的方法
时间Tue Oct 1 10:06:37 2013
大家好 小弟目前是Java超新手 因为工作上需要从url取得xml
该url是google map api
https://maps.googleapis.com/maps/api/distancematrix/xml?
origins=xxxx&destinations=yyyy&language=zh_TW&sensor=false
透过http get这个url Google就会return一个xml
显示xxxx到yyyy的距离
目前透过 //getURL是要取得的网址
URL getUrl = new URL(getURL);
HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection();
connection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
已经可以把那个xml print出来
但我只需要该xml中的某一个tag的value 也就是distance这个tag
Google找到了DOM, JDOM, DOMj4, SAX等相关方法
可是大多都是从file中读取xml 不晓得要怎麽从http get去读@@
尝试了
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new InputStreamReader(connection.getInputStream(),"utf-8"));
Element root = document.getRootElement();
List<Element> list = root.getChildren("distance");
for(int i=0; i<list.size(); i++){
Element element = (Element) list.get(i);
String distance = element.getChildText("distance");
System.out.println(distance);
}
或是
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(connection.getInputStream(),"utf-8");
Element root = document.getDocumentElement();
code没有报错 但运行都抛出了例外 但不知道错在哪@@
偏偏api doc都看不太懂 因为没有范例T.T
还请各位大大提点 感谢
不好意思 新手上路 还请见谅 以下是error msg
Exception in thread "main" java.lang.Error: 尚未解决的编译问题:
未处理的异常状况类型 ParserConfigurationException
未处理的异常状况类型 SAXException
at googleMap.test.main(test.java:11)
大致上用哪一种方法都是会抛出该方法的exception
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.194.91
1F:推 PsMonkey:版规 5 阿老板... 不然你可以先存档再读档阿老板... 10/01 10:12
Ps大 因为这个部分之後可能会大量的access
怕存档又读档会影响performance, 所以也倾向用SAX多於DOM, 但不会用T.T
2F:→ swpoker:有json格式阿~好json,不用吗? 10/01 10:21
S大 刚也稍微看了一下json, 可是因为整个平台目前都是以xml在交换资料
所以说xml势必也得赶快熟悉才行~
※ 编辑: PTTCEO 来自: 122.116.194.91 (10/01 10:25)
※ 编辑: PTTCEO 来自: 122.116.194.91 (10/01 10:28)