0

我有 3 个不同名称的可能根元素,我们称它们为 foo、bar 和 baz。所有这些可能的根元素都具有相同的类型,简称为 fooBarOrBazType。

现在,当我从 XSD 生成我的类时,只有第一个元素是用 fooBarOrBazType 创建的。所以我可以创建那个类型,当我序列化它时,它将被称为 foo。我没有看到任何为 bar 或 baz 生成的条目。

当所有根元素都在同一个模式中以及它们被拆分为不同的 xsd 文件时,都会发生这种情况。

有没有办法生成它,以便每个不同命名的元素都有自己对应的类?

我应该使用某种继承来创建 3 种不同的类型吗?如何修复这种继承?

显然,我自己发现了它,使用:

<xs:element name="foo">
<xs:complexType>
  <xs:complexContent>
    <xs:extension base="p:fooBarBazType"/>
  </xs:complexContent>
</xs:complexType>

就足够了。

4

0 回答 0