加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Scala中生成格式良好的XML?

发布时间:2020-12-16 09:40:55 所属栏目:安全 来源:网络整理
导读:说你定义如下: class Person(name: String,age: Int) { def toXml = person name{ name }/name age{ age }/age /person }val Persons = List(new Person("John",34),new Person("Bob",45)) 然后生成一些XML并将其保存到一个文件中: val personsXml = perso
说你定义如下:

class Person(name: String,age: Int) {
    def toXml =
        <person>
            <name>{ name }</name>
            <age>{ age }</age>
        </person>   
}

val Persons = List(new Person("John",34),new Person("Bob",45))

然后生成一些XML并将其保存到一个文件中:

val personsXml = 
    <persons>
        { persons.map(_.toXml) }
    </persons>

scala.xml.XML.save("persons.xml",personsXml)

最后你会得到以下有趣的文字:

<persons>
        <person>
            <name>John</name>
            <age>32</age>
        </person><person>
            <name>Bob</name>
            <age>43</age>
        </person>
    </persons>

现在,当然,这是完全有效的XML,但是如果您希望在体面的文本编辑器中进行人性化编辑,那么最好将它格式化得更好一点。

通过改变Scala XML文字的各个部分的缩进,使代码看起来不那么好 – 可以生成上述输出的变体,但似乎不可能得到它。我明白为什么这样做格式化,但是想知道是否有任何办法解决它。

解决方法

您可以使用 scala.xml.PrettyPrinter进行格式化。遗憾的是,这不适用于大型文档,因为它只能格式化为StringBuilder,不会直接写入流或作者。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读