【问题标题】:extract text from xml tags in an XML file using apach tika parser使用 apach tika 解析器从 XML 文件中的 xml 标签中提取文本
【发布时间】:2014-01-21 18:04:43
【问题描述】:

我正在尝试从各种文档中提取所有文本。 为此,我使用的是 Apache Tika 1.4。

RecursiveTikaParser parser = new RecursiveTikaParser(new AutoDetectParser());
ParseContext parseContext = new ParseContext();
parseContext.set(Parser.class, parser);

这里的 RecursiveTikaParser 只是 AutoDetectParser 的一个包装器。

解析方法是这样的 -

ContentHandler content = new BodyContentHandler(-1);
Metadata metadata = new Metadata();
super.parse(stream, content, metadata, context);
System.out.println("Parsed text is " + content.toString());

现在,这段代码必须能够处理多个文件,这就是我使用 AutoDetectParser() 的原因

我在测试中注意到给定一个 xml 文件 - 我只能提取标签之间的文本,而不是 cmets、标签。

是否可以用我目前的方法从文本文件中提取所有内容?

【问题讨论】:

    标签: xml apache-tika


    【解决方案1】:

    这样试试

        Metadata metadata = new Metadata();
        stream = TikaInputStream.get(stream, null);
        String mimtType = DETECTOR.detect(stream, metadata).toString();
        Parser parser;
        if (mimtType.equalsIgnoreCase("application/xml")) {
            parser = new TXTParser();
        } else {
            parser = new AutoDetectParser();
        }
    
        ContentHandler content = new BodyContentHandler();
        parser.parse(stream, content, metadata, new ParseContext());
        System.out.println(content.toString());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多