具體來說,我使用dom4j來讀取KML文檔並解析出XML中的一些數據。當我只是通過在URL字符串形式給讀者,它是如此簡單和同時處理的文件系統的網址和網站網址:使用dom4j處理壓縮的XML文檔
SAXReader reader = new SAXReader();
Document document = reader.read(url);
問題是,有時我的代碼將需要處理的KMZ文件,這些文件基本上只是壓縮了XML(KML)文檔。不幸的是,用SAXReader沒有方便的方法來處理這個問題。我發現了各種各樣的時髦解決方案,以確定是否給定的文件是ZIP文件,但我的代碼很快變得臃腫和討厭 - 讀取流,構建文件,在開始時檢查「魔術」十六進制字節,提取等。
有沒有一些快速和乾淨的方式來處理這個?一種更簡單的方式連接到任何URL並提取內容(如果它們是壓縮的),否則只需抓取XML?