Привет, у меня есть структура списка списков, подобная этой
udbList=[
[132, 2011-11-28 00:00:00.0, Save Object],
[141, 2011-11-29 00:00:00.0, Save Object],
[133, 2011-11-29 00:00:00.0, Read Object],
[182, 2011-12-01 00:00:00.0, Save Object],
[119, 2011-12-02 00:00:00.0, Read Object],
[11, 2011-12-03 00:00:00.0, Write Object],
[12, 2011-12-04 00:00:00.0, Save Object]
]
Я создаю dataXML, который генерирует графики из этого.Тип графика - это многострочный график по дате, где каждая строка обозначает событие (последнее значение списка - сохранение / чтение / запись)
что-то вроде этого
dataXML+="<dataset seriesname='"<event type>"' color='""' lineThickness='2'>"
udbList.each{
dataXML += "<set value='"+it[0]+"'/>" //for that event type populate all count values (1st field in the list)
}
Я заполнил udbList, как мне написать логику для формирования dataXML
, наконец, для примера списка выше, у меня должен быть dataXML, подобный этому
def dataXML = "<graph caption='s' lineThickness='3' rotateNames='1'>" + "
<categories>
//Logic to iterate through udbList and insert all dates
<category name='2011-11-28'/>
<category name='2011-11-29'/>
<category name='2011-12-01'/>
<category name='2011-12-02'/>
<category name='2011-12-03'/>
<category name='2011-12-04'/>
</categories>
<dataset seriesname='Save Object' color='""' lineThickness='2'>" +
<set value='132'/>
<set value='141'/>
<set value='182'/>
<set value='0'/> // 0 because no value for event Save Object on 2011-12-02
<set value='0'/> // 0 because no value for event Save Object on 2011-12-03
<set value='12'/>
</series>
<dataset seriesname='Read Object' color='""' lineThickness='2'>"
<set value='0'/>
<set value='133'/>
<set value='0'/>
<set value='119'/>
<set value='0'/>
<set value='0'/>
</series>
<dataset seriesname='Write Object' color='""' lineThickness='2'>"
<set value='0'/>
<set value='0'/>
<set value='0'/>
<set value='0'/>
<set value='11'/>
<set value='0'/>
</series>
</graph>
Поэтому мне нужно вставить '<set value='0'/>'
когда нет результата для определенного типа события на дату Как я могу получить этот dataXML из моего списка списков?
Обновление: Если вы хотите, чтобы в вашем теге был 'set'XML с помощью MarkupBuilder вам нужно проверить эту проблему Grail MarkupBuilder выпуск Grails 5525