[java] Apache Tika XML 처리
Apache Tika는 텍스트 추출 및 메타데이터 인식을 위한 오픈 소스 라이브러리이며, 다양한 파일 형식을 처리할 수 있는 기능을 제공합니다. 이 포스트에서는 Apache Tika를 사용하여 XML 문서를 처리하는 방법에 대해 알아보겠습니다.
Apache Tika란?
Apache Tika는 다양한 파일 형식에서 텍스트와 메타데이터를 추출할 수 있는 Java 기반의 라이브러리입니다. PDF, HTML, XML, Microsoft Office 문서 등 다양한 형식을 처리할 수 있으며, 손쉽게 파일 내용을 분석하고 추출할 수 있는 기능을 제공합니다.
Maven을 통한 의존성 추가
Apache Tika를 사용하기 위해서는 먼저 Maven 프로젝트에 다음과 같이 의존성을 추가해야 합니다.
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.27</version>
</dependency>
의존성을 추가한 후에는 Maven 프로젝트를 업데이트하여 Apache Tika를 내려받을 수 있습니다.
XML 문서 처리하기
Apache Tika를 사용하여 XML 문서를 처리하려면 아래와 같은 코드를 사용할 수 있습니다.
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.SAXException;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class XmlProcessor {
public static void main(String[] args) throws IOException, SAXException, TikaException {
InputStream input = new FileInputStream("input.xml");
Parser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
parser.parse(input, handler, metadata, context);
System.out.println("XML 문서 내용: " + handler.toString());
System.out.println("메타데이터: ");
for (String name : metadata.names()) {
System.out.println(name + ": " + metadata.get(name));
}
}
}
위 코드는 Apache Tika를 사용하여 XML 문서를 처리하는 예시입니다. AutoDetectParser
를 사용하여 XML 문서를 파싱하여 내용과 메타데이터를 추출합니다.
결론
이처럼 Apache Tika를 사용하면 XML 문서를 포함한 다양한 형식의 파일을 효과적으로 처리할 수 있으며, 복잡한 파일 형식에서 정보를 추출하거나 가공할 때 유용하게 활용할 수 있습니다.
Apache Tika의 더 많은 기능 및 사용법에 대해서는 공식 웹사이트를 참고하시기 바랍니다.