从Groovy StreamingMarkupBuilder向输出添加换行符

时间:2013-11-05 21:38:36

标签: xml groovy streamingmarkupbuilder

我在Groovy中创建了一个庞大的xml文件。我正在使用StreamingMarkupBuilder,因为常规的MarkupBuilder让我从Java堆空间中运行。我正在寻找一种在StreamingMarkupBuilder中插入换行符或在创建流时解析流的方法。我无法将整个流写入变量,它太大了。这是我正在做的事情的近似值:

<FileWriter I created earlier> << new StreamingMarkupBuilder().bind {
    Root {
        Person()
        ID(idVar)
        Location(locationMethod())
        }
    }

如果您有任何澄清问题,请告诉我,我很高兴与您合作。

1 个答案:

答案 0 :(得分:1)

休息一段时间帮助我找到了解决方案。我在这样的元素之间放置mkp.yield“\ r \ n”:

Root {
    mkp.yield "\r\n"
    Person()
    mkp.yield "\r\n"
    ID(idVar)
    mkp.yield "\r\n"
    Location(locationMethod())
    mkp.yield "\r\n"
    }

不漂亮,但它正在做我需要的。