Próbuję wygenerować XML za pomocą Groovy MarkupBuilder.Dynamiczne dodawanie wielu elementów XML/kontenerów za pomocą XML MarkupBuilder w Groovy
XML potrzebna jest tej postaci (uproszczony):
<Order>
<StoreID />
<City />
<Items>
<Item>
<ItemCode />
<UnitPrice />
<Quantity />
</Item>
</Items>
</Order>
Dane są przechowywane w pliku Excel i jest łatwo dostępny. Mój skrypt Groovy analizuje program Excel i generuje kod XML.
np.
import groovy.xml.*
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
xml.Order{
StoreID("Store1")
City("New York")
Items(){
Item(){
ItemCode("LED_TV")
UnitPrice("800.00")
Quantity("2")
}
}
}
W "elementach" może znajdować się wiele kontenerów "przedmiotowych".
Moje pytanie brzmi: Załóżmy, że chcemy wygenerować porządek XML zawierający 10 elementów. Czy istnieje sposób na napisanie czegoś w rodzaju pętli for wewnątrz kontenera "items"? W ten sposób nie będziemy musieli pisać kodu MarkupBuilder dla 10 różnych pozycji.
Istnieje podobne pytanie Adding dynamic elements and attributes to groovy MarkupBuilder or StreamingMarkupBuilder. Ale nie omawia pętli.
Rozumiem. MOŻEMY więc napisać regularny kod pętli Groovy wewnątrz znaczników. Sądziłem, że znaczniki powinny zawierać tylko kod znaczników. Dziękuję za szczegółową odpowiedź. Doceniam to! :) – CodeVenture
Dzięki za sugestię. to pomaga mi dużo wysiłku. – Tung
Dzięki za wspaniałą odpowiedź! Jako początkujący Groovy, dużo szukałem, aż znalazłem to! – eerriicc