Re: [J2SE] 請問從url讀取xml的方法

看板java作者 (痞子軍團團長)時間11年前 (2013/10/01 10:57), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《PTTCEO (批踢踢首席執行長)》之銘言: : 目前透過 //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出來 可以 print 出來表示取得資料沒有問題 然後寫成 xml 檔應該也不是問題 : 但我只需要該xml中的某一個tag的value 也就是distance這個tag : Google找到了DOM, JDOM, DOMj4, SAX等相關方法 : 可是大多都是從file中讀取xml 不曉得要怎麼從http get去讀@@ 你找到從 file 中讀取 xml 然後直接從 HttpUrlConnection 抓 stream 給 SAX 失敗 那麼,你為什麼不先試試看從 file 讀取 XML 這招 確定一下你抓回來的東西真的可以通過 XML parser? : 嘗試了 : 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) 這一行是程式碼的那一行...... Orz 反過來說,你有沒有先去看一下 ParserConfigurationException 的說明? : 大致上用哪一種方法都是會拋出該方法的exception : 推 PsMonkey:版規 5 阿老闆... 不然你可以先存檔再讀檔阿老闆... 10/01 10:12 : Ps大 因為這個部分之後可能會大量的access : 怕存檔又讀檔會影響performance, 所以也傾向用SAX多於DOM, 但不會用T.T 我先跳過「大量 access」給予人的想像空間 一個是從遠端 web 取得結果 一個是 local file 取得結果 然後你說 local file 會影響 performance... 這科學嗎? 再說,如果查詢點很常重複,你難道不會想做 cache? 不考慮交通狀況,兩點之間的路線規劃了不起一年改一次..... ==== 我突然想到念大學時候的 LAB 傳說: 什麼,為什麼從交大同學的 LAB 抓檔案回來 速度還比從隔壁實驗室抓的速度快? 那時候好像還不流行喊「這不科學阿」 -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.34.226.85

10/01 14:00, , 1F
幹 我居然笑了..
10/01 14:00, 1F

10/01 14:07, , 2F
接下來可以辦笑話比賽 [完全誤]
10/01 14:07, 2F
文章代碼(AID): #1IIZeeu6 (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1IIZeeu6 (java)