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

如何使用Groovy高效编程对生成较为复杂的XML文件?

发布时间:2020-12-14 16:53:12 所属栏目:大数据 来源:网络整理
导读:在《Groovy高效编程——生成XML文件》中,我给大家介绍了Groovy中MarkupBuilder的用法,在这篇随笔中,我将使用StreamingMarkupBuilder来生成更复杂的XML文件: import groovy.xml.StreamingMarkupBuilder def friendList = ['Tony','Alan','Leona','Cloudy'

在《Groovy高效编程——生成XML文件》中,我给大家介绍了Groovy中MarkupBuilder的用法,在这篇随笔中,我将使用StreamingMarkupBuilder来生成更复杂的XML文件:

import groovy.xml.StreamingMarkupBuilder

def friendList = ['Tony','Alan','Leona','Cloudy']
def xml = new StreamingMarkupBuilder().bind {
??? mkp.pi(xml: "version='1.0'? encoding='UTF-8'")
???
??? mkp.declareNamespace(ns:" ")
??? person {
??????? ns.name(type: "nickname","BlueSUN")
??????? ns.address "Shanghai"
??????? ns.friends(num: friendList.size()) {
??????????? for (f in friendList) {
??????????????? ns.friend f
??????????? }
??????? }
??? }
}
println xml

运行结果:

<?xml version="1.0" encoding="UTF-8"?> <person xmlns:ns=""> ??? <ns:name type="nickname">BlueSUN</ns:name> ??? <ns:address>Shanghai</ns:address> ??? <ns:friends num="4"> ??????? <ns:friend>Tony</ns:friend> ??????? <ns:friend>Alan</ns:friend> ??????? <ns:friend>Leona</ns:friend> ??????? <ns:friend>Cloudy</ns:friend> ??? </ns:friends> </person> 代码和运行结果有着十分明显的关联关系,所以使用StreamingMarkupBuilder和MarkupBuilder来生成XML文件是十分方便的。注意StreamingMarkupBuilder要比MarkupBuilder强大许多,但生成的XML的文件不‘漂亮’,如果生成的XML是用于程序配置的,不是给人看的,那么我强烈推荐使用StreamingMarkupBuilder。大家可以将《Groovy高效编程——生成XML文件》中的练习用StreamingMarkupBuilder来实现一下 ?

(编辑:李大同)

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

    推荐文章
      热点阅读