zoukankan      html  css  js  c++  java
  • Apache-Tika解析XML文档

    通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理XML格式的文章,如下:

    package com.mengyao.tika.app;
    
    import java.io.File;
    import java.io.FileInputStream;
    
    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 XmlApp {
    
        public static void main(final String[] args) throws Exception {
            // Tika默认是10*1024*1024,这里防止文件过大导致Tika报错
            BodyContentHandler handler = new BodyContentHandler(1024 * 1024 * 10);
            Metadata metadata = new Metadata();
            FileInputStream inputstream = new FileInputStream(new File("D:/web.xml"));
            ParseContext pcontext = new ParseContext();
    
            // 解析XML文档时应由超类AbstractParser的派生类XMLParser实现
            XMLParser msofficeparser = new XMLParser();
            msofficeparser.parse(inputstream, handler, metadata, pcontext);
            // 获取XML文档的内容
            System.out.println("XML文档内容:" + handler.toString());
    
            // 获取XML文档的元数据
            System.out.println("XML文档元数据:");
            String[] metadataNames = metadata.names();
    
            for (String name : metadataNames) {
                System.out.println(name + " : " + metadata.get(name));
            }
        }
    
    }
  • 相关阅读:
    修改linux的ssh默认端口号22的方法
    centos6 配置静态IP
    homebrew 无法安装提示不能在根目录下使用
    MySQL Replication 详解MySQL数据库设置主从同步的方法
    两台Mysql数据库数据同步实现
    MySql主从同步和延迟同步
    c#委托和事件
    C# Out和Ref区别
    MVC与三层架构
    经典数据库题
  • 原文地址:https://www.cnblogs.com/mengyao/p/4975638.html
Copyright © 2011-2022 走看看