在scala中以UTF-8读取xml

osh*_*hai 10 xml encoding scala

我正在尝试使用以下代码将文件读取到xml:

import scala.xml._

object HebrewToEnglishCityTranslator {

  val data = XML.loadFile("cities_hebrew_utf.xml");

  for(val entry <- data \\ "city") {
    val hebrewName = (entry \\ "hebrew_name").text
    val englishName = (entry \\ "english_name").text
    println(hebrewName + "=" + englishName)   }
Run Code Online (Sandbox Code Playgroud)

但是,我的文件以UTF-8(希伯来语字符)编码,而XML编码则是 val encoding = "ISO-8859-1"

我该怎么办?

Arj*_*ijl 13

您应该使用XML.load(reader: java.io.Reader),它允许您指定文件编码:


XML.load(new java.io.InputStreamReader(new java.io.FileInputStream("cities_hebrew_utf.xml"), "UTF-8")) 
Run Code Online (Sandbox Code Playgroud)