SAX解析器實現以多種語言存在,答案可能是特定於實現的。但至少常見的Java實現可以從流中讀取xml,而不需要下載整個東西。
一個Java SAX解析器的調用從URL
解析通常類似於
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
MyHandler handler = new MyHandler();
xr.setContentHandler(handler);
xr.parse(new InputSource(sourceUrl.openStream()));
在處理MyHandler
是你定義實現org.xml.sax.ContentHandler
類(最容易通過擴展org.xml.sax.helpers.DefaultHandler
)和sourceURL
是java.net.URL
爲URL。
當然,這一切都被封閉在一個try-catch ...
你的處理程序可以拋出一個異常信號,它已經達到了你想要什麼解析結束,並通過捕獲該異常,您的程序可以乾淨地完成而不需要讀取整個流。
謝謝,我在想Java的實現......只是想確定一下,你有沒有任何文件或比較支持它? – Hawk 2012-02-07 12:30:44
我有支持關於標準Java實現的聲明的代碼。在最新的編輯中看到片段。 – 2012-02-07 13:03:02
我明白了......非常感謝你:) – Hawk 2012-02-07 14:10:51