Scala XML根据标记名称获取值

时间:2014-06-06 13:07:45

标签: xml scala

是否可以根据标签名称获取标签的值?例如,在以下xml中,

<root>
  <a>
    <b>one</b>
    <c>two</c>
  </a>
  <a>
    <b>two</b>
    <c>one</c>
  </a>
</root>

当我做以下事情时:

val aNodes = root \\ "a"
aNodes.map(aNode => {
  aNode. ??? // How to I get the value of b and c by using its tag name?
})

1 个答案:

答案 0 :(得分:2)

您可以使用b路径投影功能导航到子元素c\的文本内容,并在结果上调用NodeSeq.text方法:

(xml \\ "a") map (e => ((e \ "b") text, (e \ "c") text)) // List((one,two), (two,one))

这会返回Tuple2,其中包含bc所有a元素的值。

相关问题