HashMap и Smooks
Мне нужно преобразовать карту в XML, а затем с помощью Smooks преобразовать ее обратно в карту. Эта карта может содержать сложные значения (например, список). Как этого добиться, используя smooks?
например:
<m:map>
<entry key="a"> <l:list> <a>a1</a> <a>a2</a> </l:list></entry>
<entry key="b"> <l:list> <b>b1</b> <b>b2</b> </l:list></entry>
</m:map>
где <a>
а также <b>
теги относятся к существующим моделям A и B
class A { String property; }
class B { String property; }
Спасибо,
2 ответа
Вы можете сделать что-то вроде этого:
<jb:bean beanId="itemList" class="java.util.ArrayList" createOnElement="Element">
<jb:wiring beanIdRef="item" />
</jb:bean>
Может быть, вы можете сделать это с smooks и заводной
<jb:bean beanId="inputValue" class="java.util.HashMap" createOnElement="StartElement">
<jb:value property="prop" data="StartElement/SomeValue/AnotherValue" />
</jb:bean>
<g:groovy executeOnElement="StartElement">
<g:imports>
</g:imports>
<g:script>
<![CDATA[
//code for setting the objects
]]>
</g:script>
</g:groovy>