Tika XML文件提取示例

本文概述

  • Tika XMLParser构造函数
  • Tica XMLParser方法
  • Tika XML文件提取示例
为了提取xml文件, Tika提供了XMLParser类。此类用于从xml文件提取内容和元数据。它位于org.apache.tika.parser.xml包中。
此类包含下表中列出的构造函数和方法。
Tika XMLParser构造函数
Constructor Description
public XMLParser() 它用于创建类的实例。
Tica XMLParser方法
Method Description
公共Set < MediaType> getSupportedTypes(ParseContext上下文) 它返回此解析器支持的媒体类型集。
公共无效解析(InputStream流, ContentHandler处理程序, 元数据元数据, ParseContext上下文)引发IOException, SAXException, TikaException 它将文档流解析为一系列XHTML SAX事件。
受保护的ContentHandler getContentHandler(ContentHandler处理程序, 元数据元数据, ParseContext上下文) 它用于获取内容处理程序。
Tika XML文件提取示例在此示例中, 我们从xml文件中提取内容和元数据。参见示例。
package tikaexample; import java.io.InputStream; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.xml.XMLParser; import org.apache.tika.sax.BodyContentHandler; public class XmlParserExample { public static void main(String[] args) {BodyContentHandler handler= new BodyContentHandler(); XMLParser parser= new XMLParser(); Metadata metadata= http://www.srcmini.com/new Metadata(); ParseContext pcontext= new ParseContext(); try (InputStream stream = AutoDetectParseExample.class.getResourceAsStream("web.xml")) {parser.parse(stream, handler, metadata, pcontext); System.out.println("Document Content:" + handler.toString()); System.out.println("Document Metadata:"); String[] metadatas = metadata.names(); for(String data : metadatas) {System.out.println(data + ":" + metadata.get(data)); }}catch(Exception e) {System.out.println("Exception message: "+ e.getMessage()); } }}

// web.xml
我们的XML文件。
< ?xml version="1.0" encoding="UTF-8"?> < servlet> < servlet-name> default< /servlet-name> < servlet-class> org.apache.catalina.servlets.DefaultServlet< /servlet-class> < init-param> < param-name> debug< /param-name> < param-value> 0< /param-value> < /init-param> < init-param> < param-name> listings< /param-name> < param-value> false< /param-value> < /init-param> < load-on-startup> 1< /load-on-startup> < /servlet>

【Tika XML文件提取示例】输出
Document Content: defaultorg.apache.catalina.servlets.DefaultServletdebug0listingsfalse1Document Metadata:Content-Type:application/xml

    推荐阅读