Scala似乎对你输入的XML做了两件事,这使得它不再可解析,但却使其可读性降低:
首先,它扩展了自我关闭的标签:
scala> <tag/>
res109: scala.xml.Elem = <tag></tag>
其次,它将属性变为随机顺序,就好像它将它们放入哈希集中一样:
scala> <tag a="a" b="b" c="c" d="d"/>
res110: scala.xml.Elem = <tag d="d" a="a" c="c" b="b"></tag>
总之,这些共同导致XML的可读性大大降低(至少在我看来)。我对XML库不是很熟悉;有没有办法执行xml到字符串的转换,产生一个紧凑的人类可读形式? (如果不是默认情况下,通过递归和编写自己的字符串转换 - 或者是否有太多特殊情况潜伏在那里?)
答案 0 :(得分:6)
大多数情况下,请参阅scala.xml.Utility.toXml
。虽然属性事物没有解决方案(据我所知)。
scala> xml.Utility.toXML(<a/>, minimizeTags = true)
res13: StringBuilder = <a />
您也可以查看scala.xml.PrettyPrinter
。