如何使用Scala将xml文档解析为流?

ScA*_*er2 16 xml scala

如何使用Scala将xml文档解析为流?我在java中使用了Stax API来实现这一目标,但我想知道是否有一种"scala"方法可以做到这一点.

Dan*_*ral 27

使用包scala.xml.pull.Scaladoc for Scala 2.8取自Snippet:

import scala.xml.pull._
import scala.io.Source
object reader {
  val src = Source.fromString("<hello><world/></hello>")
  val er = new XMLEventReader(src)
  def main(args: Array[String]) {
    while (er.hasNext)
      Console.println(er.next)
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以致电toIteratortoStreamer获得真正的IteratorStream.

这是2.7版本,略有不同.但是,测试它似乎表明它不会检测到流的结束,这与Scala 2.8不同.

import scala.xml.pull._
import scala.io.Source

object reader {
  val src = Source.fromString("<hello><world/></hello>")
  val er = new XMLEventReader().initialize(src)

  def main(args: Array[String]) {
    while (er.hasNext)
      Console.println(er.next)
  }
}
Run Code Online (Sandbox Code Playgroud)