Scala XML, получение узлов, у которых родительский атрибут имеет совпадение

Есть ли способ упростить следующее? или сократить шаблонный код другой функцией?

scala> val ns = <foo><bar id="1"><tag>one</tag><tag>uno</tag></bar><bar id="2"><tag>two</tag><tag>dos</tag></bar></foo>
ns: scala.xml.Elem = <foo><bar id="1"><tag>one</tag><tag>uno</tag></bar><bar id="2"><tag>two</tag><tag>dos</tag></bar></foo>

scala> (ns \\ "bar" filterNot{_ \\ "@id"  find { _.text == "1" } isEmpty}) \\ "tag"
res0: scala.xml.NodeSeq = NodeSeq(<tag>one</tag>, <tag>uno</tag>)
5
задан eptx 27 September 2011 в 19:50
поделиться