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

Scala:如何从某些集合创建XML节点

发布时间:2020-12-16 09:14:04 所属栏目:安全 来源:网络整理
导读:如果你有这样的东西: val myStuff = Array(Person("joe",40),Person("mary",35)) 如何使用该数据作为节点创建XML值?我知道如何在XML表达式中使用{大括号}来放置一个值,但这是值的集合.我需要明确地迭代还是有更好的东西? val myXml = people{ /* what her
如果你有这样的东西:

val myStuff = Array(Person("joe",40),Person("mary",35))

如何使用该数据作为节点创建XML值?我知道如何在XML表达式中使用{大括号}来放置一个值,但这是值的集合.我需要明确地迭代还是有更好的东西?

val myXml = <people>{ /* what here?! */ }</people>

得到的值应该是:

<people><person><name>joe</name><age>40</age></person>
<person><name>mary</name><age>39</age></person></people>

解决方法

由于它是一个功能性编程语言,Array.map可能是您正在寻找的:

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

object xml {
    val people = List(
        new Person("Alice",16),new Person("Bob",64)
    );

    val data = <people>{ people.map(p => p.toXml()) }</people>;

    def main(args : Array[String]){
        println(data);
    }
}

结果是:

<people><person><name>Alice</name><age>16</age></person><person><name>Bob</name><age>64</age></person></people>

(编辑:李大同)

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

    推荐文章
      热点阅读