2011-03-20 5 views
7

XML과 축소판이라는 두 개의 파일이 포함 된 Zip이 있습니다. XML 파일을 열고 디스크에서 추출하지 않고 파싱하고 싶습니다.메모리 내 zip 내부에서 XML 구문 분석

DocumentBuilder의 구문 분석 메소드 중 하나에는 InputStream이 필요합니다. 압축 된 파일에 XML의 InputStream을 가져 오는 방법이 있습니까? 나는 좀 잃어 버렸다. 나는 ZipInputStream이나 ZipFile이 제공할만한 것이 있지만, 알아낼 수는 없다./

미리 감사드립니다!

FileInputStream fin = new FileInputStream("your.zip"); 
ZipInputStream zin = new ZipInputStream(fin); 
ZipEntry ze = null; 
while ((ze = zin.getNextEntry()) != null) { 
    if (ze.getName().equals("your.xml")) { 
     // pass zin to DocumentBuilder 
    } 
} 

답변

4

난 당신이 뭔가를 찾고 생각합니다.

+0

나는 파싱 알고리즘을 포함하고있는 다른 메서드로 InputStream을 반환하는 끔찍한 실수를 범했습니다. 따라서 스트림이 파싱되기 전에 이미 닫혔습니다. / – pek