Вы всегда можете сделать
d match {
case xml.Elem(prefix, label, attributes, scope, children@_*) =>
}
или в вашем случае также сопоставить с xml.Attribute
d match {
case xml.Elem(_, "Attachment", xml.Attribute("about", v, _), _, _*) => v
}
// Seq[scala.xml.Node] = #item_1
Однако, Attribute
вообще не заботится о префиксе, поэтомуесли вам это нужно, вам нужно явно использовать PrefixedAttribute
:
d match {
case xml.Elem(_, "Attachment", xml.PrefixedAttribute("rdf", "about", v, _), _, _*) => v
}
Однако существует проблема, когда имеется несколько атрибутов.Кто-нибудь знает, как это исправить?