2011-01-06 57 views
2

Node.descendant和Node.child有什麼區別?Scala XML:Descendant vs 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) 

我想也許它對其他元素類型的行爲不同。但對於文本來說也是一樣。

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() 

回答

3

通常在XML術語中的後裔將包括一個孩子或大孩子(chilf of child,等等);而孩子只是一個直接的孩子(直接包含在父元素中的元素)。

+1

呃,當然。我知道。測試... – Synesso 2011-01-06 23:40:34