0

私はこのようなxsdを持っています -

<xs:element name="teachers" minOccurs="0">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="teacher" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>

XJC を使用してクラス バインディングを生成すると、教師のタイプが List< Object > ではなく List< String > であることがわかります。

protected List<Object> teacher;
public List<Object> getTeacher() {
        if (teacher == null) {
            teacher = new ArrayList<Object>();
        }
        return this.teacher;
    }

オブジェクトの代わりに文字列のリストを生成するにはどうすればよいですか? どんな助けでも大歓迎です。

更新:「vamsilp」が提供するソリューションを使用すると、「teachers」要素の「minOccurs」を削除した後、問題なく機能しました!その XSD は、Jersey によって次のコードから自動生成されます。

@XmlElementWrapper(name = "teachers")
@XmlElement(name = "teacher")
public StringSet getTeachers() {
    return getData().getTeacherss();

「minOccurs」属性を削除する方法がわかりません。無視するようにコードを変更する必要がありますか?

4

1 に答える 1