나는 아파치 tika [AM NEW TIKA]를 사용하여 gz 파일에서 xml (sitemap) 데이터를 추출해야하는 프로젝트를 진행 중이다. fie 이름은 sitemap01.xml.gz와 비슷합니다. 일반 텍스트 파일이나 HTML에서 데이터를 추출 할 수는 있지만 gz에서 XML을 추출하고 XML에서 메타 및 데이터를 추출하는 방법을 모르겠습니다 ... 검색했습니다. 지난 이틀 동안 Google.gzip 파일의 xml 데이터를 Apache tika를 사용하여 추출 하시겠습니까?
xml에서 데이터를 추출하려면 tika에서 delegateParser를 사용해야합니까?
은 여기 내 시도public void parseXml() throws IOException{
Metadata metadata = new Metadata();
ContentHandler handler = new BodyContentHandler();
Parser parser = new AutoDetectParser();
ParseContext context = new ParseContext();
InputStream stream =this.getClass().getResourceAsStream("sitemap.xml.gz");
try {
parser.parse(stream,handler,metadata,context);
for(int i = 0; i <metadata.names().length; i++) {
String name = metadata.names()[i];
System.out.println(name + " : " + metadata.get(name));
}
System.out.println(handler.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TikaException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(stream!=null) {
stream.close();
}
}
}