在scala中按属性排序xml

时间:2015-01-19 09:33:25

标签: xml scala sorting

我可以使用scala.xml sortby或sortwith按属性排序xml。

例如:

<x>
  <y a=b/>
  <y a=a/>
</x>

@a的Sortibg将给出:

<x>
  <y a=a/>
  <y a=b/>
</x>

1 个答案:

答案 0 :(得分:3)

这是一种如何按&#34; a&#34;排序的方法。属性:

val xml = <x>
  <y a="b"/>
  <y a="c"/>
  <y a="a"/>
</x>

val updatedXml = xml.copy(child = (xml \ "y").sortBy(x => (x \ "@a").text)

val printer = new scala.xml.PrettyPrinter(80, 2)
println(printer.format(updatedXml))

将打印

<x>
  <y a="a"/>
  <y a="b"/>
  <y a="c"/>
</x>