获取XML节点的值,忽略其子节点的值

时间:2014-04-10 22:46:41

标签: xml scala

我有一个看起来像这样的XML文件

<a>
  hello
  <b>
    world
  </b>
</a>

我想使用 Scala 来提取a的值,而不包含任何子项(即不包含b的值)。目前,如果ascala.xml.Node,则a.text会返回helloworld。如果我只想要hello,我会输入什么?

1 个答案:

答案 0 :(得分:2)

文本节点hello和元素节点<b>world</b>都是a的子节点。如果您只想获取文本节点,可以使用常规收集方法:

val x = <a>Hello<b>world</b></a>
x.child.collect {
  case t: xml.Text ⇒ t.toString
}.mkString // "hello"