通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用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));
}
} }