Scala学习笔记 A2/L1篇 - XML处理 XML Processing

教材:快学Scala

chapter 16. XML处理 XML Processing

16.1 XML字面量

val doc = Fred's Memoirs...
类型为scala.xml.Elem,表示一个XML元素
val items =

  • Fred
  • Wilma

  • 类型为scala.xml.NodeSeq,表示一系列的节点

    16.2 XML节点

    • Node类是所有XML节点类型的祖先,最重要的两个子类是TextElem
    • NodeSeqSeq[Node]的子类型
    val elem = The Scala language
    
    elem.label // res131: String = a
    elem.child // res132: Seq[scala.xml.Node] = ArrayBuffer(The , Scala,  language)
    for (e <- elem.child) println(e)
    
    • NodeBuffer 用于构建节点序列,是ArrayBuffer[Node]的子类

    16.3 元素属性

    • 属性的键和值用attribute属性,产生一个MetaData对象
    val elem = The Scala language
    val url = elem.attribute("href")  // Seq[Node]类型的Option对象 Some(http://scala-lang.org)
    val url = elem.attributes("href") // Seq[Node]对象 http://scala-lang.org
    val url = elem.attributes("href").text // String http://scala-lang.org
    
    val image = San José State University Logo
    val alt = image.attribute("alt") // Some(ArrayBuffer(San Jos, é,  State University Logo))
    
    for (attr <- elem.attributes) println(attr.key, attr.value.text) // 遍历属性
    

    16.4 内嵌表达式

    • {items(0)}
    • {items(1)}

      {for (i <- items) yield
    • {i}
    • }


    {if

    你可能感兴趣的:(Scala学习笔记 A2/L1篇 - XML处理 XML Processing)