xml - 在scala中按属性对xml进行排序

标签 xml scala sorting

我可以使用 scala.xml sortby 或 sortwith 按属性对 xml 进行排序吗?

例如:

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

按 @a 排序将给出:

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

最佳答案

以下是按“a”属性排序的一种方法:

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>

关于xml - 在scala中按属性对xml进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28021491/

相关文章:

sql-server - 为什么从 XML 变量插入选择变量表这么慢?

c# - 在 C# 中从分层数据集创建 XML

xml - 如何在 .properties 或 xml 文件中使用环境变量?

java - 需要对字符串值进行排序,同时忽略对空字符串值的任何位置更改

c - 排序链表(神秘段错误)

java - 如何更改 BottomNavigationView 中特定项目的 iconTint

ruby - 如何仅在选项为 None 时分配给选项

postgresql - Slick 中的编译查询

scala - 有什么方法可以将类型保存在 Scala 列表中吗?

c - 如何引用结构数组的所有字段