使用StringTemple和Java构建XML文件

时间:2019-01-23 13:14:06

标签: java stringtemplate

我需要一些关于如何使用StringTemplate lib和Java创建嵌套模板的建议。

所以我的目标是创建一个类似于以下内容的XML文件:

<contacts>
    <friends>
        <close_friends>
            <close_friend>friend1</close_friend>
            <close_friend>friend2</close_friend>
            ...
        </close_friends>

        <acquaintances>
            <acquaintance>Acquaintance1<acquaintance>
            <acquaintance>Acquaintance2<acquaintance>
            ...
        </acquaintance>
    </friends>
    <colleagues>
        <colleague>Colleague1</colleague>
        <colleague>Colleague2</colleague>
        ....
    </colleagues>
</contacts>

因此,我打算使用StringTemplate作为模板语言(https://theantlrguy.atlassian.net/wiki/spaces/ST/pages/1409116/Five+minute+Introduction)和Java作为编程语言。

我想做的不是将所有内容都放入一个模板文件中,而是将其拆分:

我想拥有主要的模板联系人。st(g):

<contacts>
    <friends>
        <close_friends>
            $close_friends:close_friend(); separator="\n"$
        </close_friends>

        <acquaintances>
            $acquaintances:acquaintance(); separator="\n"$
        </acquaintance>
    </friends>
    <colleagues>
        $colleagues:colleague(); separator="\n"$
    </colleagues>
</contacts>

对于密友同事熟人,我想使用单独的模板/组(close_friend.st(g); colleague.st (g);和相识。st(g))。

我想象(例如)close_friend.st(g)看起来像:

<close_friend>$friend.name$</close_friend>

所以我的第一个问题是:我是否为此使用StringTemplates或StringTemplateGroups?我见过人们使用这两种药物的情况非常相似,所以我不确定该如何服用。

我也不十分确定如何将信息从主模板contact.st(g)传递给其子对象,例如close_friends.st(g),因为我希望执行模板close_friends.st(g)对于我的主模板中列表的每个成员(包含密友)。

0 个答案:

没有答案