Scala:在xml中选择以下兄弟

时间:2013-12-22 01:46:51

标签: xml scala

有没有办法使用Scala在xml中选择以下兄弟元素?

所以,如果我有这样的xml:

<root> <childA>A</childA> <randomElementName>B</randomElementName> </root>

我想做这样的选择:

(root \ "childA") followingSibling text

会给我"B"

1 个答案:

答案 0 :(得分:1)

我想它并不像你想象的那么优雅,但它有效:

root.
  child.
  dropWhile{ _.label != "childA" }.
  collect{ case e: xml.Elem => e }.
  drop(1).
  headOption.
  map{ _.text }
// Option[String] = Some(B)

XPath中没有scala.xml,因此您应该像收集一样使用它。