如何将scala代码转换为java来读取xml文件

时间:2016-06-08 18:16:07

标签: java xml scala cloud9

我想通过编写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)

1 个答案:

答案 0 :(得分:1)

我不知道“rawXmls”的类型是什么,我正在猜测某种字符串集合。以下应该是wikiXmlToPlainTextUtil方法(或多或少)的转换,它返回一个java可选的字符串列表而不是元组。我将把这个应用到你的流中,this answer可能对此有所帮助。

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);
    }
  }     
}