Scala XML:后代与子代
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)
我想也许它对于其他元素类型的行为有所不同。但对于文本来说也是一样。
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()
What's the difference between Node.descendant and 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)
I thought maybe it behaves differently for other element types. But it's the same for 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()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
XML 术语中的后代通常包括孩子或孙子(孩子的孩子,等等);而 child 只是一个直接子元素(直接包含在父元素中的元素)。
Typically descendant in XML lingo would include a child or grand-child (chilf of child, and so on); whereas child is just an immediate child (element immediately contained within parent element).