0
IDと要素が含まれているオブジェクトのリストを考えると、私は、リストを反復処理すると、このようなXMLを生成する必要があります前のオブジェクトの内部にあり、オブジェクトはリストの最後でのみ閉じられます。 (私の選択ではなく、外部インターフェイスによって指示されます)Groovyの入れ子になった(?再帰)XML
XMLマークアップビルダーを使用してこれを作成する方法はありますか?
IDと要素が含まれているオブジェクトのリストを考えると、私は、リストを反復処理すると、このようなXMLを生成する必要があります前のオブジェクトの内部にあり、オブジェクトはリストの最後でのみ閉じられます。 (私の選択ではなく、外部インターフェイスによって指示されます)Groovyの入れ子になった(?再帰)XML
XMLマークアップビルダーを使用してこれを作成する方法はありますか?
class MyElement {
def id
def element
}
def list = [new MyElement(id: 1, element: "element1"),
new MyElement(id: 2, element: "element2"),
new MyElement(id: 3, element: "element3")]
println new groovy.xml.StreamingMarkupBuilder().bind {
def foo // note declaration and initialization on different lines
foo = { List<MyElement> l ->
if (l.isEmpty()) return
def head = l.head()
def tail = l.tail()
object {
id head.id
element head.element
foo(tail)
}
}
foo(list)
}
出力(清書):
<object>
<id>1</id>
<element>element1</element>
<object>
<id>2</id>
<element>element2</element>
<object>
<id>3</id>
<element>element3</element>
</object>
</object>
</object>`
偉大な応答が、ありがとうございました! –