我需要从XML中提取一些数据并将其写入数据库。我已为此创建了记录实体:
case class Record (title: String, description: String)
我想写标题和描述来记录实体。如果我有大约12条XML记录,我希望输出12条记录。然而,我得到了12*12条记录的输出,这意味着每条记录打印12次。原因可能是什么?
主要方法如下:
def main(args: Array[String]): Unit = {
val response: HttpResponse[String] = Http("link")
.timeout(connTimeoutMs = 2000, readTimeoutMs = 5000)
.asString
val xmlString = response.body
val xml = XML.loadString(xmlString)
val titleNodes = (xml \\ "item" \ "title")
val descriptionNodes = (xml \\ "item" \ "description")
val output: Seq[Record] = for{
title <- titleNodes
description <- descriptionNodes
}yield Record(title.text, description.text)
output.foreach(println)
}
我最近才开始使用Scala编写代码,所以如果您有任何建议,我将不胜感激!