我有一个简单的绑定:
<binding>
<mapping name="entry" class="google.vo.GoogleContactsEntry" ordered="false">
<value name="title" field="title" usage="optional" />
<value name="email" field="email" usage="optional" />
</mapping>
<mapping name="feed" class="google.vo.GoogleContacts" ordered="false" flexible="true">
<namespace uri="http://www.w3.org/2005/Atom" default="elements"/>
<value name="id" field="id" usage="optional" />
<value name="updated" field="updatedString" usage="optional" />
<value name="title" field="title" usage="optional" />
<collection item-type="google.vo.GoogleContactsEntry" name="entries" field="entries"/>
</mapping>
</binding>
问题出在Collection元素中,它需要name =“ entries”。 Google返回的条目没有包装元素。像这样:
<feed>
<entry>
</entry>
<entry>
</entry>
</feed>
JiBX期望:
<feed>
<entries>
<entry>
</entry>
<entry>
</entry>
<entries>
</feed>
如果在集合时的绑定方案中没有元素名称,JiBX将无法编译。有解决方案吗?
最佳答案
更好的解决方案是使用xsl转换,并将输入的响应更改为jibx期望的,这应该很简单。
本主题将帮助:
How can I wrap a group of adjacent elements using XSLT?