Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 测试Wikixmlj时出错_Java - Fatal编程技术网

Java 测试Wikixmlj时出错

Java 测试Wikixmlj时出错,java,Java,我想从wikipedia页面提取数据,所以我使用Wikixmlj API访问wikipedia转储。我的测试类的代码: package wikiXmlj; import edu.jhu.nlp.wikipedia.*; public class test { public static void main(String args[]){ WikiXMLParser wxsp = WikiXMLParserFactory.getSAXParser("D:\\simplewiki-201405

我想从wikipedia页面提取数据,所以我使用Wikixmlj API访问wikipedia转储。我的测试类的代码:

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();
        }}}
我收到ttheis错误:

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

您将迭代器与SAXParser一起使用

但是迭代器只与DOMParser一起工作

开关

WikiXMLParser wxsp=WikiXMLParserFactory.getSAXParser(“D:\\simplewiki-20140501-pages-articles.xml.bz2”)

WikiXMLParser wxsp=WikiXMLParserFactory.getDOMParser(“D:\\simplewiki-20140501-pages-articles.xml.bz2”)

它应该会起作用