Node.descendant和Node.child之间有什么区别?
scala> val n = <a b="c">d</a>.asInstanceOf[xml.Node]
n: scala.xml.Node = <a b="c">d</a>
scala> n.descendant
res22: List[scala.xml.Node] = List(d)
scala> n.child
res23: Seq[scala.xml.Node] = ArrayBuffer(d)
我想也许它对其他元素类型的行为有所不同。但是Text也是如此。
scala> val t = n.child.head.asInstanceOf[xml.Text]
t: scala.xml.Text = d
scala> t.descendant
res24: List[scala.xml.Node] = List()
scala> t.child
res25: object Nil = List()
答案 0 :(得分:3)
通常,XML术语中的后代将包括一个孩子或一个孩子(孩子的孩子,等等);而child只是一个直接的子元素(元素直接包含在父元素中)。