跳转到内容

Scala/XML

来自维基教科书,开放世界中的开放书籍

Scala 使处理和生成 XML 变得非常容易。这使程序员可以非常轻松地与 Web 服务和其他 XML 数据源进行通信。

XML 文本

[编辑 | 编辑源代码]

在 Scala 中,XML 可以用作文本。这意味着你可以执行以下操作

val doc = <person living="true"><name>Jimbo Wales</name><job>Supreme Overlord of Wikiland</job></person>

你可以使用大括号将表达式包含在 XML 中,例如

class Person {
  // ...
  def toXML() = <person><name>{this.name}</name><job>{this.job}</job></person>
}

如你所见,大括号在 Scala XML 中是特殊字符,因此如果你只想显示大括号,只需重复两次:{{

探索 XML

[编辑 | 编辑源代码]

当你有一些 XML 时,你可以使用反斜杠和双反斜杠方法来探索它

val doc = <person living="true"><name>Jimbo Wales</name><job>Supreme Overlord of Wikiland</job></person>
println((doc \ "name").text) // prints "Jimbo Wales"
println(doc.attributes("living")) // prints "true"
println(doc \\ "@living") // finds all the attributes named living and in this case prints true
华夏公益教科书