1

我想通过编写 java 代码逐页读取 XML 转储,但我有这个 Scala 代码,我不明白要重写它,所以类似的 java 代码是什么。我知道它可以在 JVM 上正常运行,但我想要一些我理解的东西。

import edu.umd.cloud9.collection.wikipedia.language._
import edu.umd.cloud9.collection.wikipedia._
 def wikiXmlToPlainText(xml: String): Option[(String, String)] = {
 val page = new EnglishWikipediaPage()
   WikipediaPage.readPage(page, xml)
    if (page.isEmpty) None
       else Some((page.getTitle, page.getContent))
        }
          val plainText = rawXmls.flatMap(wikiXmlToPlainText)
4

1 回答 1

1

我不知道“rawXmls”的类型是什么,我猜是某种字符串集合。下面应该是wikiXmlToPlainTextUtil方法的转换(或多或少),它返回一个字符串列表的 java Optional,而不是一个元组。我将把将其应用于流的练习留给您,这个答案可能对此有所帮助。

import edu.umd.cloud9.collection.wikipedia.language.*
import edu.umd.cloud9.collection.wikipedia.*

class wikiXmlToPlainTextUtil { 
  Optional<List<String>> wikiXmlToPlainText(String xml) {
    EnglishWikipediaPage page = new EnglishWikipediaPage()
    WikipediaPage.readPage(page, xml)
    if (page.isEmpty) {
      return Optional.empty();
    } else {
      List<String> result = new ArrayList<>();
      result.add(page.getTitle);
      result.add(page.getContent);
      return Optional.of(result);
    }
  }     
}
于 2016-06-08T18:30:04.517 回答