java - 测试 Wikixmlj 时出错

标签 java

我想从维基百科页面提取数据,因此我使用 Wikixmlj API 来访问维基百科转储。我的测试类的代码:

package wikiXmlj;
import edu.jhu.nlp.wikipedia.*;
public class test {
public static void main(String args[]){
   WikiXMLParser wxsp = WikiXMLParserFactory.getSAXParser("D:\\simplewiki-20140501-pages-articles.xml.bz2");  
         try {
                wxsp.parse();
               WikiPageIterator it = wxsp.getIterator();
                  while(it.hasMorePages()) {
                   WikiPage page = it.nextPage();
                   System.out.println(page.getTitle());
                }       }catch(Exception e) {
                e.printStackTrace();
        }}}

我收到错误:

java.lang.UnsupportedOperationException 
at edu.jhu.nlp.wikipedia.WikiXMLSAXParser.getIterator(WikiXMLSAXParser.java:70)
at wikiXmlj.test.main(test.java:18)

请帮助我。

最佳答案

使用此代码......

  public void wikiDumpReader(String dumpfile) {
            WikiXMLParser wxsp = WikiXMLParserFactory.getSAXParser(dumpfile);
            System.out.println("Going to process dump file");
            try {

                wxsp.setPageCallback(new PageCallbackHandler() {
                    @Override
                    public void process(WikiPage page) {

                        System.out.println(page.getTitle());
                    }

                });

                wxsp.parse();
            } catch (Exception e) {
                System.err.println("Error :" + e);
            }
        }

这对我有用。Ref https://code.google.com/p/wikixmlj/

关于java - 测试 Wikixmlj 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29096975/

相关文章:

java - 如何在多个 Mono 运算符中重用一个变量?

java - 为什么sdkmanager不会更新?

java - 使用 Java FTP 连接到本地主机

java - Veracode CWE 501 JSP 文件中的缺陷信任边界违规

java - AndroidManifest 文件的问题

java-如何检查发送的响应类型(响应为 JSON 格式)

java - 处理大量 C、Java、Informix

java - Gridview 的 URI 列表

java - JShell <Shift+tab i> 在 jdk 9 中无法正常工作

java - JOptionPane 对话框在 Eclipse 中无法正确显示