Посмотрите на этот пост: Доступ к атрибутам XML с помощью пространств имен .
Похоже на URI, на который ссылается:
ns \ "@{uri}foo"
Относится кчасть после знака равенства.Это работает:
scala> val ns = <foo xmlns:id="bar" id:hi="fooMe"></foo>
ns: scala.xml.Elem = <foo id:hi="fooMe" xmlns:id="bar"></foo>
scala> ns \ "@{bar}hi"
res9: scala.xml.NodeSeq = fooMe
Так что я думаю, что первое, что следует после foo, это определить ваш URL и пространство имен, а затем определить атрибут, так что если вы хотите получить атрибут «bar», может быть что-то вродеэто:
scala> val ns = <foo xmlns:myNameSpace="id" myNameSpace:id="bar"></foo>
ns: scala.xml.Elem = <foo myNameSpace:id="bar" xmlns:myNameSpace="id"></foo>
scala> ns \ "@{id}id"
res10: scala.xml.NodeSeq = bar
Хотя я не уверен в правильности повторного использования URI в качестве имени атрибута.