【发布时间】:2013-06-05 15:01:46
【问题描述】:
我发现了一个棘手的错误:
如果我将 metadata-xml-binding 定义如下
<?xml version="1.0"?>
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="package" xml-mapping-metadata-complete="true">
<xml-schema element-form-default="QUALIFIED" />
<java-types>
<java-type name="SearchResult">
<xml-root-element/>
<java-attributes>
<xml-element java-attribute="count"/>
<xml-element java-attribute="requestParameters"/>
<xml-element java-attribute="pageSize"/>
<xml-element java-attribute="sortDirection"/>
<xml-elements java-attribute="results">
<xml-element name="GaDictionaryElement" type="it.ga.model.GaDictionary">
<xml-element-wrapper name="GaDictionaryElementWrapper" />
</xml-element>
<xml-element name="OrganizationUnitElement" type="it.ga.model.OrganizationUnit">
<xml-element-wrapper name="OrganizationUnitElementWrapper" />
</xml-element>
<xml-element name="PersonElement" type="it.ga.model.Person">
<xml-element-wrapper name="PersonElementWrapper" />
</xml-element>
<xml-element name="Empty" type="java.lang.String">
<xml-element-wrapper name="EmptyWrapper" nillable="true"/>
</xml-element>
</xml-elements>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
我看到<xml-element-wrapper> 标记不起作用,因为它位于<xml-elements> 标记周围的<xml-element> 标记中。所以我一直在寻找一种以干净的方式解决这个问题的方法。因为当我的班级的List<?> 结果为空时,我需要一个空节点。
一个非常糟糕的解决方法是为List<?> 结果创建许多不同的绑定文件,但我不喜欢这样!
此外,是否有人尝试创建一个对实现特定接口的类有用的绑定文件?例如。以某种方式,我只能看到绑定文件上定义的对象的属性并将接口的名称指定为类型?我看到了这个:[博客]:http://blog.bdoughan.com/2010/07/moxy-jaxb-map-interfaces-to-xml.html#comment-form
【问题讨论】:
-
谢谢你的建议,但我写了 xml-elementS 来增强 S 字母的视图,因为有两个标签
<xml-elements>和里面<xml-element>没有 s 字母:)
标签: eclipselink moxy